/* gad. solutions BH 0.5.1 – clean system-page template and standalone login */
.gad-app,
.gad-login-shell,
.gad-login-card {
	--gad-ink: #172033;
	--gad-muted: #667085;
	--gad-soft: #f5f7fb;
	--gad-line: #e3e8f1;
	--gad-card: #ffffff;
	--gad-card-border: #e8ebf2;
	--gad-card-muted: #fafbfc;
	--gad-control: #ffffff;
	--gad-control-soft: #f3f5f9;
	--gad-control-hover: #e7eaf1;
	--gad-control-border: #d9deea;
	--gad-label: #4f586b;
	--gad-accent: #6557e8;
	--gad-accent-dark: #4f42cf;
	--gad-accent-rgb: 101, 87, 232;
	--gad-accent-soft: #efedff;
	--gad-accent-border: #aaa2f4;
	--gad-sidebar-glow: rgba(107, 91, 232, .28);
	--gad-sidebar: #151927;
	--gad-green: #12805c;
	--gad-red: #c83c45;
	--gad-amber: #b76b08;
	--gad-radius: 18px;
	font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	color: var(--gad-ink);
	font-size: 16px;
	line-height: 1.5;
}

.gad-app[data-gad-skin="ocean"] {
	--gad-accent: #1477c9;
	--gad-accent-dark: #0d5f9f;
	--gad-accent-rgb: 20, 119, 201;
	--gad-accent-soft: #e8f4ff;
	--gad-accent-border: #8bc3ec;
	--gad-sidebar-glow: rgba(20, 119, 201, .3);
}

.gad-app[data-gad-skin="forest"] {
	--gad-accent: #16825c;
	--gad-accent-dark: #0e6848;
	--gad-accent-rgb: 22, 130, 92;
	--gad-accent-soft: #e7f7f0;
	--gad-accent-border: #8dcdb5;
	--gad-sidebar-glow: rgba(22, 130, 92, .3);
}

.gad-app[data-gad-skin="sunset"] {
	--gad-accent: #d85b35;
	--gad-accent-dark: #b44323;
	--gad-accent-rgb: 216, 91, 53;
	--gad-accent-soft: #fff0eb;
	--gad-accent-border: #efad98;
	--gad-sidebar-glow: rgba(216, 91, 53, .3);
}

.gad-app[data-gad-skin="graphite"] {
	--gad-accent: #4b5567;
	--gad-accent-dark: #303846;
	--gad-accent-rgb: 75, 85, 103;
	--gad-accent-soft: #edf0f4;
	--gad-accent-border: #aeb6c2;
	--gad-sidebar-glow: rgba(148, 163, 184, .24);
}

.gad-app[data-gad-skin="sand"] {
	--gad-accent: #9a682f;
	--gad-accent-dark: #755023;
	--gad-accent-rgb: 154, 104, 47;
	--gad-accent-soft: #f3e7d5;
	--gad-accent-border: #d5b68b;
	--gad-sidebar-glow: rgba(154, 104, 47, .3);
	--gad-soft: #f4eee4;
	--gad-card: #fffaf2;
	--gad-line: #e5d8c5;
}

.gad-app[data-gad-skin="rose"] {
	--gad-accent: #c13f73;
	--gad-accent-dark: #9d2e5b;
	--gad-accent-rgb: 193, 63, 115;
	--gad-accent-soft: #fde5ef;
	--gad-accent-border: #e7a7bf;
	--gad-sidebar-glow: rgba(193, 63, 115, .3);
	--gad-soft: #fff0f5;
	--gad-card: #fffafd;
	--gad-line: #efd5df;
}

.gad-app[data-gad-skin="ice"] {
	--gad-accent: #168b91;
	--gad-accent-dark: #0e6e73;
	--gad-accent-rgb: 22, 139, 145;
	--gad-accent-soft: #def4f4;
	--gad-accent-border: #8ecdd0;
	--gad-sidebar-glow: rgba(22, 139, 145, .3);
	--gad-soft: #edf8f8;
	--gad-card: #fbffff;
	--gad-line: #cfe6e7;
}

.gad-app[data-gad-skin="royal"] {
	--gad-accent: #365acb;
	--gad-accent-dark: #28449e;
	--gad-accent-rgb: 54, 90, 203;
	--gad-accent-soft: #e5eaff;
	--gad-accent-border: #9eafe8;
	--gad-sidebar-glow: rgba(54, 90, 203, .3);
	--gad-soft: #eef2ff;
	--gad-card: #fbfcff;
	--gad-line: #d7def4;
}

.gad-app[data-gad-skin="amber"] {
	--gad-accent: #c47a0b;
	--gad-accent-dark: #9b5d05;
	--gad-accent-rgb: 196, 122, 11;
	--gad-accent-soft: #ffedcf;
	--gad-accent-border: #e5bd78;
	--gad-sidebar-glow: rgba(196, 122, 11, .3);
	--gad-soft: #fff5e5;
	--gad-card: #fffdf8;
	--gad-line: #eddcbf;
}

.gad-app[data-gad-skin="office-blue"] {
	--gad-ink: #1c2b3a;
	--gad-muted: #5d6d7d;
	--gad-accent: #185abd;
	--gad-accent-dark: #104a9c;
	--gad-accent-rgb: 24, 90, 189;
	--gad-accent-soft: #e2eefc;
	--gad-accent-border: #8cb4e7;
	--gad-sidebar-glow: rgba(24, 90, 189, .34);
	--gad-sidebar: #10263f;
	--gad-soft: #eef4fb;
	--gad-card: #fbfdff;
	--gad-line: #d5e1ef;
}

.gad-app[data-gad-skin="classic-dark"] {
	--gad-ink: #edf2f7;
	--gad-muted: #a6b0c0;
	--gad-accent: #8498f5;
	--gad-accent-dark: #6c80df;
	--gad-accent-rgb: 132, 152, 245;
	--gad-accent-soft: #2b355b;
	--gad-accent-border: #596ba9;
	--gad-sidebar-glow: rgba(132, 152, 245, .25);
	--gad-sidebar: #090d14;
	--gad-soft: #10141c;
	--gad-card: #1b212c;
	--gad-line: #303846;
	--gad-card-border: #343d4b;
	--gad-card-muted: #171c25;
	--gad-control: #232a35;
	--gad-control-soft: #262d38;
	--gad-control-hover: #303846;
	--gad-control-border: #3a4453;
	--gad-label: #c3cbd6;
	--gad-green: #5fd1a8;
	--gad-red: #ff7b85;
	--gad-amber: #f4bd62;
}

.gad-app[data-gad-skin="grey"] {
	--gad-ink: #252a31;
	--gad-muted: #6d737c;
	--gad-accent: #5e6875;
	--gad-accent-dark: #454e59;
	--gad-accent-rgb: 94, 104, 117;
	--gad-accent-soft: #e1e5e9;
	--gad-accent-border: #abb2ba;
	--gad-sidebar-glow: rgba(148, 156, 166, .24);
	--gad-sidebar: #252a30;
	--gad-soft: #eceff2;
	--gad-card: #f9fafb;
	--gad-line: #d1d6dc;
}

.gad-app[data-gad-skin="ivory"] {
	--gad-ink: #342f28;
	--gad-muted: #756c61;
	--gad-accent: #8b6a3c;
	--gad-accent-dark: #6e522e;
	--gad-accent-rgb: 139, 106, 60;
	--gad-accent-soft: #eee3d0;
	--gad-accent-border: #c8ad83;
	--gad-sidebar-glow: rgba(139, 106, 60, .3);
	--gad-sidebar: #28231e;
	--gad-soft: #f6f1e7;
	--gad-card: #fffdf8;
	--gad-line: #e4dac8;
}

.gad-app[data-gad-skin="bordeaux"] {
	--gad-ink: #33242a;
	--gad-muted: #78666d;
	--gad-accent: #8f3150;
	--gad-accent-dark: #6f233e;
	--gad-accent-rgb: 143, 49, 80;
	--gad-accent-soft: #f3dfe6;
	--gad-accent-border: #d59aaf;
	--gad-sidebar-glow: rgba(143, 49, 80, .34);
	--gad-sidebar: #29151d;
	--gad-soft: #f7eef1;
	--gad-card: #fffafb;
	--gad-line: #ead4dc;
}

.gad-app[data-gad-skin="neon-pop"] {
	--gad-ink: #251a38;
	--gad-muted: #6d5d82;
	--gad-accent: #f02b9d;
	--gad-accent-dark: #bd1677;
	--gad-accent-rgb: 240, 43, 157;
	--gad-accent-soft: #ffe0f4;
	--gad-accent-border: #f58bc9;
	--gad-sidebar-glow: rgba(38, 226, 229, .4);
	--gad-sidebar: #211039;
	--gad-soft: linear-gradient(135deg, #fff0fb 0%, #ecfcff 48%, #f6ffe8 100%);
	--gad-card: rgba(255, 255, 255, .88);
	--gad-line: #d9c9ed;
	--gad-card-border: #e0c4ed;
}

.gad-app[data-gad-skin="aurora"] {
	--gad-ink: #18263d;
	--gad-muted: #63718a;
	--gad-accent: #7656e8;
	--gad-accent-dark: #5b3fc8;
	--gad-accent-rgb: 118, 86, 232;
	--gad-accent-soft: #eee9ff;
	--gad-accent-border: #b9aaf5;
	--gad-sidebar-glow: rgba(45, 212, 191, .38);
	--gad-sidebar: #14213a;
	--gad-soft: linear-gradient(135deg, #edfffb 0%, #f2efff 52%, #eff8ff 100%);
	--gad-card: rgba(255, 255, 255, .9);
	--gad-line: #d9dcf1;
	--gad-card-border: #d7d9ee;
}

.gad-app[data-gad-skin="midnight-gold"] {
	--gad-ink: #f5eedf;
	--gad-muted: #b8ae98;
	--gad-accent: #d6aa54;
	--gad-accent-dark: #b98b34;
	--gad-accent-rgb: 214, 170, 84;
	--gad-accent-soft: #3a3021;
	--gad-accent-border: #806a42;
	--gad-sidebar-glow: rgba(214, 170, 84, .32);
	--gad-sidebar: #070b13;
	--gad-soft: #0d1420;
	--gad-card: #171f2b;
	--gad-line: #323b48;
	--gad-card-border: #394351;
	--gad-card-muted: #121a25;
	--gad-control: #202936;
	--gad-control-soft: #252e3a;
	--gad-control-hover: #303a47;
	--gad-control-border: #424d5c;
	--gad-label: #d2c9b8;
	--gad-green: #62d2aa;
	--gad-red: #ff8189;
	--gad-amber: #e8b960;
}

.gad-app[data-gad-skin="sakura-dream"] {
	--gad-ink: #382536;
	--gad-muted: #7e697b;
	--gad-accent: #d84d85;
	--gad-accent-dark: #b8326b;
	--gad-accent-rgb: 216, 77, 133;
	--gad-accent-soft: #fde4ef;
	--gad-accent-border: #eca8c4;
	--gad-sidebar-glow: rgba(239, 132, 174, .38);
	--gad-sidebar: #32182c;
	--gad-soft: linear-gradient(140deg, #fff1f6 0%, #f8f0ff 52%, #fff8fb 100%);
	--gad-card: rgba(255, 252, 254, .93);
	--gad-line: #edd5e2;
	--gad-card-border: #efd4e2;
}

.gad-app[data-gad-skin="emerald-luxe"] {
	--gad-ink: #19312b;
	--gad-muted: #62766f;
	--gad-accent: #0d8b6d;
	--gad-accent-dark: #086c54;
	--gad-accent-rgb: 13, 139, 109;
	--gad-accent-soft: #ddf4ec;
	--gad-accent-border: #8bc9b6;
	--gad-sidebar-glow: rgba(220, 177, 85, .33);
	--gad-sidebar: #07342d;
	--gad-soft: linear-gradient(135deg, #eef8f3 0%, #fbf5e8 100%);
	--gad-card: rgba(255, 255, 252, .93);
	--gad-line: #d4e4dc;
	--gad-card-border: #cfe1d8;
}

html.gad-app-fullscreen-document,
body.gad-app-page {
	width: 100%;
	height: 100%;
	max-width: none;
	overflow-x: hidden;
}

body.gad-app-page {
	min-height: 100%;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
}

body.gad-app-page .gad-app-fullwidth-host {
	width: 100% !important;
	max-width: none !important;
	margin: 0 !important;
	padding: 0 !important;
	gap: 0 !important;
	row-gap: 0 !important;
	overflow: visible !important;
}

.gad-app *,
.gad-login-shell * {
	box-sizing: border-box;
}

.gad-app [hidden] {
	display: none !important;
}

.gad-app button,
.gad-app input,
.gad-app select,
.gad-app textarea,
.gad-login-shell button,
.gad-login-shell input {
	font: inherit;
	letter-spacing: normal;
	text-transform: none;
}

.gad-app button {
	-webkit-appearance: none;
	appearance: none;
	cursor: pointer;
	opacity: 1;
}

.gad-app {
	position: relative;
	display: grid;
	grid-template-columns: 292px minmax(0, 1fr);
	width: 100%;
	min-height: 100vh;
	margin: 0;
	background: var(--gad-soft);
	overflow: clip;
	border: 0;
	border-radius: 0;
	box-shadow: none;
}

.gad-app.gad-layout-fullscreen {
	position: fixed;
	z-index: 9990;
	grid-template-rows: minmax(0, 1fr);
	top: var(--gad-fullscreen-top, 0px);
	right: 0;
	bottom: 0;
	left: 0;
	width: 100vw !important;
	width: 100dvw !important;
	height: var(--gad-fullscreen-height, 100vh);
	min-height: 0;
	max-width: none !important;
	margin: 0 !important;
	overflow: hidden;
}

.gad-app.gad-layout-contained {
	width: min(1560px, 100%);
	min-height: 820px;
	margin: 24px auto !important;
	border: 1px solid var(--gad-line);
	border-radius: 22px;
	box-shadow: 0 24px 70px rgba(26, 36, 56, .1);
}

/* Sidebar */
.gad-sidebar {
	position: sticky;
	top: 0;
	align-self: start;
	display: flex;
	flex-direction: column;
	width: 100%;
	height: 100vh;
	min-height: 720px;
	padding: 38px 28px 26px;
	color: #fff;
	background:
		radial-gradient(circle at 8% 4%, var(--gad-sidebar-glow), transparent 32%),
		linear-gradient(180deg, #191e30 0%, var(--gad-sidebar) 100%);
}

body.admin-bar .gad-sidebar {
	top: 32px;
	height: calc(100vh - 32px);
}

.gad-app.gad-layout-fullscreen .gad-sidebar,
body.admin-bar .gad-app.gad-layout-fullscreen .gad-sidebar {
	position: relative;
	top: auto;
	align-self: stretch;
	height: 100%;
	min-height: 0;
	overflow-y: auto;
	scrollbar-width: none;
}

.gad-app.gad-layout-fullscreen .gad-sidebar::-webkit-scrollbar {
	display: none;
}

.gad-brand-block {
	padding: 0 12px;
}

.gad-brand {
	font-size: 42px;
	font-weight: 850;
	line-height: 1;
	letter-spacing: -2.8px;
}

.gad-brand span,
.gad-login-logo span {
	color: var(--gad-accent);
}

.gad-brand-subtitle {
	margin-top: 10px;
	color: #abb2c5;
	font-size: 12px;
	font-weight: 650;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.gad-nav {
	display: grid;
	gap: 9px;
	margin-top: 54px;
}

.gad-app .gad-nav button {
	display: flex !important;
	align-items: center;
	justify-content: flex-start;
	gap: 13px;
	width: 100%;
	min-height: 50px;
	padding: 10px 14px !important;
	border: 1px solid transparent !important;
	border-radius: 13px !important;
	color: #c3c9d8 !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-align: left;
	text-decoration: none;
	transition: background .18s ease, color .18s ease, border-color .18s ease;
}

.gad-app .gad-nav button:hover {
	color: #fff !important;
	background: rgba(255, 255, 255, .075) !important;
	border-color: rgba(255, 255, 255, .06) !important;
}

.gad-app .gad-nav button.is-active {
	color: #fff !important;
	background: linear-gradient(135deg, var(--gad-accent), var(--gad-accent-dark)) !important;
	border-color: rgba(255, 255, 255, .12) !important;
	box-shadow: 0 12px 28px rgba(var(--gad-accent-rgb), .32) !important;
}

.gad-nav-icon {
	display: grid;
	flex: 0 0 26px;
	width: 26px;
	height: 26px;
	place-items: center;
	border-radius: 8px;
	background: rgba(255, 255, 255, .08);
	font-size: 17px;
	line-height: 1;
}

.gad-nav-label {
	display: block;
}

.gad-today {
	display: grid;
	gap: 5px;
	margin-top: auto;
	padding: 18px;
	border: 1px solid rgba(255, 255, 255, .1);
	border-radius: 15px;
	background: rgba(255, 255, 255, .045);
}

.gad-today > span {
	color: #9ba3b7;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
}

.gad-today strong {
	font-size: 15px;
	text-transform: capitalize;
}

.gad-nameday {
	display: grid;
	gap: 2px;
	margin-top: 8px;
	padding-top: 9px;
	border-top: 1px solid rgba(255, 255, 255, .09);
}

.gad-nameday > span {
	color: #9ba3b7;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.gad-today .gad-nameday > strong {
	color: #e3e7f0;
	font-size: 15px;
	font-weight: 800;
	line-height: 1.3;
	text-transform: none;
}

.gad-user {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, .1);
}

.gad-user img {
	width: 44px;
	height: 44px;
	border: 2px solid rgba(255, 255, 255, .16);
	border-radius: 13px;
}

.gad-user > div {
	display: grid;
	min-width: 0;
}

.gad-user strong {
	overflow: hidden;
	color: #fff;
	font-size: 13px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gad-user a {
	margin-top: 2px;
	color: #9fa7ba;
	font-size: 12px;
	text-decoration: none;
}

.gad-app .gad-user-settings {
	display: grid !important;
	flex: 0 0 38px;
	width: 38px;
	height: 38px;
	min-height: 38px;
	margin-left: auto;
	padding: 0 !important;
	place-items: center;
	border: 1px solid rgba(255, 255, 255, .13) !important;
	border-radius: 11px !important;
	color: #c3c9d8 !important;
	background: rgba(255, 255, 255, .055) !important;
	box-shadow: none !important;
	font-size: 17px !important;
}

.gad-app .gad-user-settings:hover {
	color: #fff !important;
	border-color: rgba(255, 255, 255, .22) !important;
	background: rgba(255, 255, 255, .11) !important;
}

.gad-sidebar-signature {
	display: grid;
	gap: 3px;
	margin-top: 14px;
	padding: 13px 4px 0;
	border-top: 1px solid rgba(255, 255, 255, .08);
	color: #8992a8;
	line-height: 1.3;
}

.gad-sidebar-signature strong {
	color: #b9c0d0;
	font-size: 10px;
	font-weight: 750;
	letter-spacing: .035em;
}

.gad-sidebar-signature a {
	color: #d9deea;
	text-decoration: none;
}

.gad-sidebar-signature a:hover {
	color: #fff;
	text-decoration: underline;
}

.gad-sidebar-signature small {
	font-size: 10px;
	font-weight: 600;
}

/* Main application area */
.gad-main {
	width: 100%;
	min-width: 0;
	padding: 0 clamp(28px, 4vw, 68px) 64px;
}

.gad-app.gad-layout-fullscreen .gad-main {
	height: 100%;
	min-height: 0;
	overflow-y: auto;
	overscroll-behavior-y: contain;
	scrollbar-width: none;
}

.gad-app.gad-layout-fullscreen .gad-main::-webkit-scrollbar {
	display: none;
}

.gad-topbar,
.gad-welcome,
.gad-stats,
.gad-calendar-section,
.gad-chart-section,
.gad-list-section {
	width: 100%;
	max-width: 1560px;
	margin-right: auto;
	margin-left: auto;
}

.gad-app.gad-layout-fullscreen .gad-topbar,
.gad-app.gad-layout-fullscreen .gad-welcome,
.gad-app.gad-layout-fullscreen .gad-stats,
.gad-app.gad-layout-fullscreen .gad-calendar-section,
.gad-app.gad-layout-fullscreen .gad-chart-section,
.gad-app.gad-layout-fullscreen .gad-list-section {
	max-width: none;
}

.gad-topbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 112px;
	gap: 24px;
	border-bottom: 1px solid var(--gad-line);
}

.gad-topbar-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 10px;
}

.gad-language-switch {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.gad-app .gad-language-switch button {
	display: grid !important;
	width: 42px;
	height: 42px;
	min-height: 42px;
	padding: 0 !important;
	place-items: center;
	border: 1px solid var(--gad-control-border) !important;
	border-radius: 999px !important;
	background: var(--gad-control) !important;
	box-shadow: 0 5px 14px rgba(21, 31, 49, .07) !important;
	font-size: 20px !important;
	line-height: 1 !important;
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.gad-app .gad-language-switch button:hover {
	border-color: var(--gad-accent-border) !important;
	transform: translateY(-1px);
}

.gad-app .gad-language-switch button.is-active {
	border-color: var(--gad-accent) !important;
	box-shadow: 0 0 0 3px rgba(var(--gad-accent-rgb), .16) !important;
}

.gad-language-switch button span {
	display: block;
	line-height: 1;
}

.gad-eyebrow {
	margin: 0 0 6px;
	color: #7b8497;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .12em;
	text-transform: uppercase;
}

.gad-workspace-row {
	display: flex;
	align-items: center;
	gap: 8px;
}

.gad-workspace-row select {
	-webkit-appearance: none;
	appearance: none;
	width: auto;
	min-width: 230px;
	max-width: 420px;
	height: 46px;
	padding: 0 42px 0 15px !important;
	border: 1px solid var(--gad-control-border) !important;
	border-radius: 12px !important;
	outline: 0;
	color: var(--gad-ink) !important;
	background-color: var(--gad-control) !important;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='8' viewBox='0 0 14 8'%3E%3Cpath d='M1 1l6 6 6-6' fill='none' stroke='%2379869b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") !important;
	background-repeat: no-repeat !important;
	background-position: right 17px center !important;
	background-size: 12px 7px !important;
	font-size: 15px !important;
	font-weight: 750 !important;
	box-shadow: 0 4px 12px rgba(28, 38, 59, .035) !important;
}

.gad-app .gad-primary,
.gad-app .gad-secondary,
.gad-app .gad-workspace-select,
.gad-app .gad-workspace-manage,
.gad-app .gad-workspace-add,
.gad-app .gad-action-button,
.gad-app .gad-danger-button,
.gad-app .gad-dialog-head > button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	visibility: visible !important;
	min-height: 44px;
	margin: 0;
	border-radius: 12px !important;
	font-weight: 800 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	box-shadow: none;
	transition: transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

.gad-app .gad-primary {
	min-height: 50px;
	padding: 0 22px !important;
	border: 1px solid var(--gad-accent) !important;
	color: #fff !important;
	background: var(--gad-accent) !important;
	box-shadow: 0 12px 26px rgba(var(--gad-accent-rgb), .24) !important;
	font-size: 14px !important;
}

.gad-app .gad-primary:hover {
	color: #fff !important;
	background: var(--gad-accent-dark) !important;
	border-color: var(--gad-accent-dark) !important;
	transform: translateY(-1px);
	box-shadow: 0 16px 30px rgba(var(--gad-accent-rgb), .29) !important;
}

.gad-primary > span,
.gad-workspace-select > span,
.gad-workspace-manage > span,
.gad-workspace-add > span {
	margin-right: 8px;
	font-size: 20px;
	font-weight: 500;
}

.gad-app .gad-secondary {
	padding: 0 18px !important;
	border: 1px solid var(--gad-control-border) !important;
	color: var(--gad-muted) !important;
	background: var(--gad-control-soft) !important;
	font-size: 14px !important;
}

.gad-app .gad-secondary:hover {
	color: var(--gad-ink) !important;
	background: var(--gad-control-hover) !important;
}

.gad-app .gad-workspace-select,
.gad-app .gad-workspace-manage,
.gad-app .gad-workspace-add {
	flex: 0 0 138px;
	width: 138px;
	min-height: 46px;
	padding: 0 16px !important;
	border: 1px solid var(--gad-control-border) !important;
	color: var(--gad-muted) !important;
	background: var(--gad-control) !important;
	font-size: 13px !important;
}

.gad-app .gad-workspace-select {
	border-color: var(--gad-accent) !important;
	color: #fff !important;
	background: var(--gad-accent) !important;
}

.gad-app .gad-workspace-select:not(:disabled):hover {
	background: var(--gad-accent-dark) !important;
	border-color: var(--gad-accent-dark) !important;
}

.gad-app .gad-workspace-select:disabled {
	cursor: default;
	border-color: var(--gad-control-border) !important;
	color: var(--gad-muted) !important;
	background: var(--gad-control-soft) !important;
}

.gad-app .gad-workspace-manage:disabled {
	cursor: default;
}

.gad-app .gad-workspace-add:hover {
	color: var(--gad-accent) !important;
	border-color: var(--gad-accent-border) !important;
	background: var(--gad-accent-soft) !important;
}

.gad-app .gad-workspace-manage:hover {
	color: var(--gad-accent) !important;
	border-color: var(--gad-accent-border) !important;
	background: var(--gad-accent-soft) !important;
}

.gad-app button:focus-visible,
.gad-app select:focus-visible,
.gad-app input:focus-visible,
.gad-app textarea:focus-visible {
	outline: 3px solid rgba(var(--gad-accent-rgb), .24) !important;
	outline-offset: 2px;
}

.gad-app button:disabled {
	cursor: wait;
	opacity: .55 !important;
}

.gad-welcome {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 30px;
	padding: 44px 0 30px;
}

.gad-welcome h1 {
	margin: 0;
	color: var(--gad-ink);
	font-size: clamp(36px, 4vw, 54px);
	font-weight: 820;
	line-height: 1.05;
	letter-spacing: -2px;
}

.gad-welcome-copy {
	margin: 12px 0 0;
	color: var(--gad-muted);
	font-size: 15px;
}

.gad-welcome-motto {
	margin: 0 0 7px;
	color: #8b93a4;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
}

/* Dashboard cards */
.gad-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(190px, 1fr));
	gap: 18px;
	margin-bottom: 30px;
}

.gad-app .gad-stat-card {
	position: relative;
	display: grid;
	width: 100%;
	min-height: 156px;
	padding: 22px 24px;
	overflow: hidden;
	border: 1px solid var(--gad-line) !important;
	border-radius: var(--gad-radius) !important;
	color: var(--gad-ink) !important;
	background: var(--gad-card) !important;
	box-shadow: 0 10px 28px rgba(26, 36, 56, .055);
	text-align: left;
	transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}

.gad-app .gad-stat-card::before {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 4px;
	background: #94a3b8;
	content: "";
}

.gad-app .gad-stat-card.is-danger::before { background: #e2535b; }
.gad-app .gad-stat-card.is-warning::before { background: #e6a23c; }
.gad-app .gad-stat-card.is-primary::before { background: var(--gad-accent); }
.gad-app .gad-stat-card.is-success::before { background: #22a779; }

.gad-app .gad-stat-card:not(:disabled):hover {
	border-color: var(--gad-accent-border) !important;
	box-shadow: 0 16px 34px rgba(26, 36, 56, .12);
	transform: translateY(-2px);
}

.gad-app .gad-stat-card:disabled {
	cursor: default;
	opacity: .72 !important;
}

.gad-stat-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.gad-stat-head > span {
	color: var(--gad-muted);
	font-size: 14px;
	font-weight: 750;
}

.gad-stat-head i {
	display: grid;
	width: 30px;
	height: 30px;
	place-items: center;
	border-radius: 9px;
	color: #596479;
	background: #f0f3f8;
	font-size: 12px;
	font-style: normal;
	font-weight: 850;
}

.gad-stats .is-danger .gad-stat-head i { color: #b52e37; background: #ffedef; }
.gad-stats .is-warning .gad-stat-head i { color: #9a5b08; background: #fff3df; }
.gad-stats .is-primary .gad-stat-head i { color: var(--gad-accent); background: var(--gad-accent-soft); }
.gad-stats .is-success .gad-stat-head i { color: #137958; background: #e7f7f1; }

.gad-stats strong {
	align-self: center;
	margin: 10px 0 4px;
	color: var(--gad-ink);
	font-size: 42px;
	font-weight: 820;
	line-height: 1;
	letter-spacing: -1.5px;
}

.gad-stats small {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	align-self: end;
	color: #8a93a5;
	font-size: 12px;
}

.gad-stats small > span {
	color: var(--gad-accent);
	font-weight: 800;
	white-space: nowrap;
}

.gad-stat-card:disabled small > span {
	display: none;
}

/* Calendar */
.gad-calendar-section {
	min-height: 610px;
	padding: 28px;
	border: 1px solid var(--gad-line);
	border-radius: 22px;
	background: var(--gad-card);
	box-shadow: 0 14px 36px rgba(26, 36, 56, .055);
}

.gad-calendar-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 22px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--gad-line);
}

.gad-calendar-head h2 {
	margin: 0;
	color: var(--gad-ink);
	font-size: 26px;
	font-weight: 820;
	letter-spacing: -.7px;
	text-transform: capitalize;
}

.gad-calendar-help {
	margin: 5px 0 0;
	color: var(--gad-muted);
	font-size: 11px;
	font-weight: 650;
}

.gad-calendar-tools {
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 10px;
}

.gad-calendar-filter,
.gad-calendar-jump label {
	display: grid;
	gap: 5px;
	margin: 0;
	color: var(--gad-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.gad-calendar-filter select,
.gad-calendar-jump select {
	width: 190px;
	height: 42px;
	padding: 0 34px 0 12px !important;
	border: 1px solid var(--gad-control-border) !important;
	border-radius: 10px !important;
	color: var(--gad-ink) !important;
	background-color: var(--gad-control) !important;
	font-size: 12px !important;
	font-weight: 750 !important;
	text-transform: none;
}

.gad-calendar-jump {
	display: inline-flex;
	align-items: flex-end;
	gap: 6px;
}

.gad-calendar-jump select {
	width: 110px;
}

.gad-calendar-jump label:last-child select {
	width: 110px;
	min-width: 110px;
}

.gad-calendar-navigation {
	display: inline-grid;
	grid-template-columns: 42px 58px 42px;
	align-items: center;
	gap: 4px;
	padding: 0;
	border: 0;
	background: transparent;
}

.gad-app .gad-calendar-navigation button {
	display: grid !important;
	width: 100%;
	min-width: 0;
	height: 42px;
	min-height: 42px;
	padding: 0 12px !important;
	place-items: center;
	border: 1px solid var(--gad-control-border) !important;
	border-radius: 11px !important;
	color: var(--gad-muted) !important;
	background: var(--gad-control-soft) !important;
	box-shadow: none !important;
	font-size: 13px !important;
	font-weight: 800 !important;
}

.gad-app .gad-calendar-navigation [data-gad-calendar-prev],
.gad-app .gad-calendar-navigation [data-gad-calendar-next] {
	padding: 0 !important;
	border-color: var(--gad-accent-border) !important;
	border-radius: 999px !important;
	color: var(--gad-accent-dark) !important;
	background: var(--gad-accent-soft) !important;
	font-size: 23px !important;
}

.gad-app .gad-calendar-navigation [data-gad-calendar-today]:hover {
	color: var(--gad-ink) !important;
	background: var(--gad-control) !important;
}

.gad-app .gad-calendar-navigation [data-gad-calendar-prev]:hover,
.gad-app .gad-calendar-navigation [data-gad-calendar-next]:hover {
	color: #fff !important;
	border-color: var(--gad-accent) !important;
	background: var(--gad-accent) !important;
	box-shadow: 0 7px 17px rgba(var(--gad-accent-rgb), .2) !important;
}

.gad-calendar-loading {
	padding: 90px 20px;
	color: var(--gad-muted);
	font-size: 14px;
	text-align: center;
}

.gad-calendar-loading.is-error {
	color: var(--gad-red);
}

.gad-calendar-body {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 330px;
	align-items: start;
	gap: 22px;
}

.gad-calendar-main {
	min-width: 0;
}

.gad-calendar-weekdays,
.gad-calendar-grid {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
}

.gad-calendar-weekdays {
	padding: 0 1px 8px;
}

.gad-calendar-weekdays span {
	color: var(--gad-muted);
	font-size: 10px;
	font-weight: 850;
	letter-spacing: .09em;
	text-align: center;
	text-transform: uppercase;
}

.gad-calendar-grid {
	gap: 1px;
	padding: 1px;
	overflow: hidden;
	border-radius: 14px;
	background: var(--gad-line);
}

.gad-app .gad-calendar-day {
	position: relative;
	display: flex !important;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	min-width: 0;
	min-height: 104px;
	padding: 0 !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: var(--gad-ink) !important;
	background: var(--gad-control) !important;
	box-shadow: none !important;
	text-align: left;
}

.gad-app .gad-calendar-day-select {
	display: flex !important;
	flex: 1 1 auto;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	width: 100%;
	min-height: 104px;
	padding: 10px !important;
	border: 0 !important;
	border-radius: 0 !important;
	color: inherit !important;
	background: transparent !important;
	box-shadow: none !important;
	text-align: left;
}

.gad-app .gad-calendar-day-add {
	position: absolute;
	z-index: 3;
	top: 9px;
	right: 9px;
	display: grid !important;
	width: 28px;
	height: 28px;
	min-height: 28px;
	padding: 0 !important;
	place-items: center;
	border: 1px solid var(--gad-accent-border) !important;
	border-radius: 9px !important;
	color: var(--gad-accent-dark) !important;
	background: var(--gad-control) !important;
	box-shadow: 0 5px 14px rgba(26, 36, 56, .12) !important;
	font-size: 19px !important;
	font-weight: 700 !important;
	line-height: 1 !important;
	opacity: 0;
	transform: translateY(-3px);
	transition: opacity .16s ease, transform .16s ease, background-color .16s ease;
}

.gad-calendar-day:hover .gad-calendar-day-add,
.gad-calendar-day:focus-within .gad-calendar-day-add,
.gad-calendar-day.is-selected .gad-calendar-day-add {
	opacity: 1;
	transform: translateY(0);
}

.gad-app .gad-calendar-day-add:hover,
.gad-app .gad-calendar-day-add:focus-visible {
	color: #fff !important;
	background: var(--gad-accent) !important;
}

.gad-app .gad-calendar-day:hover {
	z-index: 1;
	background: var(--gad-control-soft) !important;
	box-shadow: inset 0 0 0 2px var(--gad-accent-border) !important;
}

.gad-app .gad-calendar-day.is-outside {
	color: var(--gad-muted) !important;
	background: var(--gad-control-soft) !important;
	opacity: .56;
}

.gad-app .gad-calendar-day.is-selected {
	z-index: 2;
	background: var(--gad-accent-soft) !important;
	box-shadow: inset 0 0 0 2px var(--gad-accent) !important;
	opacity: 1;
}

.gad-calendar-day-number {
	display: grid;
	width: 28px;
	height: 28px;
	place-items: center;
	border-radius: 9px;
	font-size: 12px;
	font-weight: 850;
}

.gad-calendar-day.is-today .gad-calendar-day-number {
	color: #fff;
	background: var(--gad-accent);
}

.gad-calendar-dots {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
	min-height: 10px;
}

.gad-calendar-dots i,
.gad-calendar-legend i {
	display: block;
	width: 11px;
	height: 11px;
	flex: 0 0 11px;
	border-radius: 999px;
	background: var(--gad-space-color);
	box-shadow: 0 0 0 2px rgba(255, 255, 255, .78);
}

.gad-calendar-dots i.is-done {
	opacity: .35;
}

.gad-calendar-dots small {
	color: var(--gad-muted);
	font-size: 9px;
	font-weight: 850;
}

.gad-calendar-preview {
	position: fixed;
	z-index: 11000;
	width: min(310px, calc(100vw - 24px));
	padding: 15px;
	border: 1px solid var(--gad-control-border);
	border-radius: 15px;
	color: var(--gad-ink);
	background: var(--gad-card);
	box-shadow: 0 20px 48px rgba(17, 25, 43, .24);
	pointer-events: none;
}

.gad-calendar-preview-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding-bottom: 11px;
	border-bottom: 1px solid var(--gad-line);
}

.gad-calendar-preview-head strong {
	font-size: 14px;
	font-weight: 850;
	text-transform: capitalize;
}

.gad-calendar-preview-head span {
	flex: 0 0 auto;
	padding: 4px 8px;
	border-radius: 999px;
	color: var(--gad-accent-dark);
	background: var(--gad-accent-soft);
	font-size: 10px;
	font-weight: 850;
}

.gad-calendar-preview-list {
	display: grid;
	gap: 10px;
	padding: 12px 0 3px;
}

.gad-calendar-preview-event {
	display: grid;
	grid-template-columns: 10px minmax(0, 1fr);
	align-items: start;
	gap: 9px;
}

.gad-calendar-preview-event > i {
	width: 10px;
	height: 10px;
	margin-top: 3px;
	border-radius: 999px;
	background: var(--gad-space-color);
	box-shadow: 0 0 0 2px var(--gad-control-soft);
}

.gad-calendar-preview-event > span {
	display: grid;
	min-width: 0;
	gap: 2px;
}

.gad-calendar-preview-event strong {
	overflow: hidden;
	font-size: 12px;
	font-weight: 800;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gad-calendar-preview-event small,
.gad-calendar-preview-more,
.gad-calendar-preview-hint {
	color: var(--gad-muted);
	font-size: 10px;
	font-weight: 650;
}

.gad-calendar-preview-event.is-done {
	opacity: .58;
}

.gad-calendar-preview-event.is-done strong {
	text-decoration: line-through;
}

.gad-calendar-preview-more {
	margin: 8px 0 0;
	font-weight: 800;
}

.gad-calendar-preview-hint {
	margin: 11px 0 0;
	padding-top: 10px;
	border-top: 1px solid var(--gad-line);
}

.gad-calendar-legend {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 15px;
	margin-top: 15px;
}

.gad-calendar-legend span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: var(--gad-muted);
	font-size: 11px;
	font-weight: 700;
}

.gad-calendar-side {
	position: sticky;
	top: 24px;
	display: grid;
	align-content: start;
	gap: 16px;
	min-width: 0;
}

.gad-day-panel,
.gad-calendar-legend-card {
	min-width: 0;
	padding: 20px;
	border: 1px solid var(--gad-line);
	border-radius: 16px;
	background: var(--gad-control-soft);
}

.gad-calendar-legend-card .gad-eyebrow {
	margin-bottom: 11px;
}

.gad-calendar-legend-card .gad-calendar-legend {
	display: grid;
	align-items: start;
	gap: 10px;
	margin-top: 0;
}

.gad-day-panel-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}

.gad-day-panel-head h3 {
	margin: 0;
	color: var(--gad-ink);
	font-size: 18px;
	font-weight: 820;
	line-height: 1.25;
	text-transform: capitalize;
}

.gad-day-panel-head > span {
	display: grid;
	min-width: 34px;
	height: 30px;
	padding: 0 9px;
	place-items: center;
	border-radius: 999px;
	color: var(--gad-accent);
	background: var(--gad-accent-soft);
	font-size: 11px;
	font-weight: 850;
}

.gad-app .gad-add-day-reminder {
	width: 100%;
	min-height: 44px;
	margin-bottom: 15px;
}

.gad-day-events {
	display: grid;
	gap: 8px;
}

.gad-app .gad-day-event {
	display: grid !important;
	grid-template-columns: 4px minmax(0, 1fr) 14px;
	align-items: center;
	gap: 11px;
	width: 100%;
	min-height: 58px;
	padding: 10px !important;
	border: 1px solid var(--gad-control-border) !important;
	border-radius: 11px !important;
	color: var(--gad-ink) !important;
	background: var(--gad-control) !important;
	box-shadow: none !important;
	text-align: left;
}

.gad-app .gad-day-event:hover {
	border-color: var(--gad-accent-border) !important;
	transform: translateY(-1px);
	box-shadow: 0 7px 16px rgba(var(--gad-accent-rgb), .08) !important;
}

.gad-day-event-marker {
	width: 4px;
	height: 34px;
	border-radius: 999px;
	background: var(--gad-space-color);
}

.gad-day-event-copy {
	display: grid;
	min-width: 0;
	gap: 3px;
}

.gad-day-event-copy strong,
.gad-day-event-copy small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gad-day-event-copy strong {
	font-size: 12px;
	font-weight: 800;
}

.gad-day-event-copy small {
	color: var(--gad-muted);
	font-size: 9px;
	font-weight: 650;
}

.gad-day-event-arrow {
	color: var(--gad-muted);
	font-size: 20px;
}

.gad-day-event.is-done {
	opacity: .55;
}

.gad-day-event.is-done strong {
	text-decoration: line-through;
}

.gad-day-empty {
	padding: 25px 8px 12px;
	color: var(--gad-muted);
	text-align: center;
}

.gad-day-empty > span {
	display: block;
	margin-bottom: 7px;
	font-size: 25px;
}

.gad-day-empty p {
	margin: 0;
	font-size: 11px;
}

/* Stacked column chart */
.gad-chart-section {
	min-height: 470px;
	padding: 28px;
	border: 1px solid var(--gad-line);
	border-radius: 22px;
	background: var(--gad-card);
	box-shadow: 0 14px 36px rgba(26, 36, 56, .055);
}

.gad-chart-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 16px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--gad-line);
}

.gad-chart-head h2 {
	margin: 0;
	color: var(--gad-ink);
	font-size: 25px;
	font-weight: 800;
	letter-spacing: -.7px;
}

.gad-chart-help {
	margin: 5px 0 0;
	color: var(--gad-muted);
	font-size: 11px;
	font-weight: 650;
}

.gad-chart-controls {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	flex-wrap: wrap;
	gap: 10px;
}

.gad-chart-navigation {
	display: grid;
	grid-template-columns: 42px minmax(145px, auto) 58px 42px;
	align-items: center;
	gap: 4px;
}

.gad-chart-navigation > strong {
	display: grid;
	height: 38px;
	padding: 0 13px;
	place-items: center;
	border: 1px solid var(--gad-line);
	border-radius: 10px;
	color: var(--gad-ink);
	background: var(--gad-control);
	font-size: 12px;
	font-weight: 800;
	text-transform: capitalize;
	white-space: nowrap;
}

.gad-app .gad-chart-navigation button {
	display: grid !important;
	width: 100%;
	height: 38px;
	min-height: 38px;
	padding: 0 10px !important;
	place-items: center;
	border: 1px solid var(--gad-control-border) !important;
	border-radius: 10px !important;
	color: var(--gad-muted) !important;
	background: var(--gad-control-soft) !important;
	box-shadow: none !important;
	font-size: 12px !important;
	font-weight: 800 !important;
}

.gad-app .gad-chart-navigation [data-gad-chart-prev],
.gad-app .gad-chart-navigation [data-gad-chart-next] {
	padding: 0 !important;
	border-color: var(--gad-accent-border) !important;
	border-radius: 999px !important;
	color: var(--gad-accent-dark) !important;
	background: var(--gad-accent-soft) !important;
	font-size: 22px !important;
}

.gad-app .gad-chart-navigation button:hover {
	color: var(--gad-ink) !important;
	background: var(--gad-control) !important;
}

.gad-app .gad-chart-navigation [data-gad-chart-prev]:hover,
.gad-app .gad-chart-navigation [data-gad-chart-next]:hover {
	color: #fff !important;
	border-color: var(--gad-accent) !important;
	background: var(--gad-accent) !important;
}

.gad-chart-context {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 7px;
	margin-bottom: 14px;
	color: var(--gad-muted);
	font-size: 11px;
}

.gad-chart-context > span {
	font-weight: 700;
}

.gad-chart-context > strong {
	color: var(--gad-ink);
	font-weight: 800;
}

.gad-chart-context > i {
	display: inline-grid;
	min-height: 25px;
	padding: 0 9px;
	place-items: center;
	border-radius: 999px;
	color: var(--gad-accent);
	background: var(--gad-accent-soft);
	font-size: 10px;
	font-style: normal;
	font-weight: 800;
}

.gad-chart-scroll {
	width: 100%;
	overflow-x: auto;
	overscroll-behavior-x: contain;
	border: 1px solid var(--gad-line);
	border-radius: 15px;
	background: var(--gad-card-muted);
	scrollbar-color: var(--gad-accent-border) transparent;
	scrollbar-width: thin;
}

.gad-column-chart-inner {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr);
	grid-template-rows: 28px 330px 54px;
	width: 100%;
	min-width: var(--gad-chart-min-width, 940px);
	padding: 18px 20px 8px 10px;
}

.gad-chart-y-title {
	grid-column: 1 / -1;
	align-self: center;
	padding-left: 3px;
	color: var(--gad-muted);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.gad-chart-y-axis {
	position: relative;
	grid-column: 1;
	grid-row: 2;
}

.gad-chart-y-axis > span {
	position: absolute;
	right: 10px;
	bottom: var(--gad-tick-position);
	color: var(--gad-muted);
	font-size: 9px;
	font-weight: 700;
	line-height: 1;
	transform: translateY(50%);
}

.gad-column-plot {
	position: relative;
	grid-column: 2;
	grid-row: 2;
	min-width: 0;
	border-bottom: 1px solid var(--gad-control-border);
}

.gad-chart-grid-lines {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.gad-chart-grid-lines > i {
	position: absolute;
	right: 0;
	bottom: var(--gad-tick-position);
	left: 0;
	border-top: 1px dashed var(--gad-line);
}

.gad-chart-grid-lines > i:first-child {
	border-top-style: solid;
	border-top-color: var(--gad-control-border);
}

.gad-chart-columns,
.gad-chart-x-axis {
	display: grid;
	grid-template-columns: repeat(var(--gad-chart-columns), minmax(0, 1fr));
}

.gad-chart-columns {
	position: relative;
	z-index: 1;
	height: 100%;
}

.gad-column {
	min-width: 0;
	height: 100%;
	padding: 0 clamp(4px, .8vw, 13px);
}

.gad-column.is-weekend {
	background: rgba(var(--gad-accent-rgb), .025);
}

.gad-column.is-today {
	background: rgba(var(--gad-accent-rgb), .065);
}

.gad-column-body {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: stretch;
	height: 100%;
}

.gad-column-body > strong {
	margin-bottom: 5px;
	color: var(--gad-ink);
	font-size: 10px;
	font-weight: 850;
	text-align: center;
}

.gad-column-stack {
	display: flex;
	flex-direction: column-reverse;
	height: var(--gad-stack-height);
	min-height: 0;
	overflow: hidden;
	border-radius: 9px 9px 3px 3px;
	background: var(--gad-card);
	box-shadow: 0 8px 18px rgba(19, 30, 49, .16);
}

.gad-app .gad-column-segment {
	position: relative;
	display: block !important;
	flex: 1 1 0;
	width: 100%;
	min-width: 0;
	min-height: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	border-top: 2px solid var(--gad-card) !important;
	border-radius: 0 !important;
	background: var(--gad-segment-color) !important;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .32), inset 0 -1px 0 rgba(17, 24, 39, .2) !important;
	cursor: pointer;
}

.gad-app .gad-column-segment:last-child {
	border-top: 0 !important;
}

.gad-app .gad-column-segment:hover,
.gad-app .gad-column-segment:focus-visible {
	position: relative;
	z-index: 2;
	filter: brightness(1.16) saturate(1.08);
	outline: 2px solid var(--gad-ink) !important;
	outline-offset: -2px;
}

.gad-app .gad-column-segment.is-done {
	opacity: .38;
}

.gad-app .gad-column-segment.is-overdue::after {
	position: absolute;
	z-index: 3;
	top: 50%;
	right: 8px;
	display: block;
	color: #e13a47;
	background: transparent;
	content: '×';
	font-size: 27px;
	font-weight: 950;
	line-height: 1;
	text-shadow: 0 1px 0 rgba(255, 255, 255, .95), 0 0 4px rgba(255, 255, 255, .9), 0 2px 4px rgba(67, 8, 14, .38);
	transform: translateY(-54%);
	pointer-events: none;
}

.gad-chart-x-spacer {
	grid-column: 1;
	grid-row: 3;
}

.gad-chart-x-axis {
	grid-column: 2;
	grid-row: 3;
}

.gad-chart-x-axis > span {
	display: grid;
	min-width: 0;
	padding: 10px 2px 0;
	place-items: start center;
	align-content: start;
	color: var(--gad-muted);
	font-size: 9px;
	font-weight: 700;
	text-align: center;
}

.gad-chart-x-axis > span.is-today {
	color: var(--gad-accent-dark);
}

.gad-chart-x-axis strong {
	font-size: 10px;
	font-weight: 850;
	line-height: 1.1;
	text-transform: capitalize;
}

.gad-chart-x-axis small {
	margin-top: 3px;
	font-size: 8px;
	line-height: 1;
}

.gad-chart-legend {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px 15px;
	min-height: 30px;
	padding: 11px 3px 0;
	color: var(--gad-muted);
	font-size: 9px;
	font-weight: 700;
}

.gad-chart-legend > span {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.gad-chart-legend i {
	display: inline-block;
	width: 10px;
	height: 10px;
	border-radius: 3px;
	background: var(--gad-legend-color);
}

.gad-chart-legend .is-status i {
	background: var(--gad-muted);
	opacity: .38;
}

.gad-chart-legend .is-overdue-status i {
	display: inline-grid;
	width: auto;
	height: auto;
	border: 0;
	border-radius: 0;
	place-items: center;
	color: #e13a47;
	background: transparent;
	box-shadow: none;
}

.gad-chart-legend .is-overdue-status i::before {
	content: '×';
	font-size: 22px;
	font-style: normal;
	font-weight: 950;
	line-height: 1;
}

.gad-chart-empty {
	display: grid;
	min-height: 260px;
	place-items: center;
	align-content: center;
	padding: 30px;
	color: var(--gad-muted);
	text-align: center;
}

.gad-chart-empty > span {
	display: grid;
	width: 50px;
	height: 50px;
	margin-bottom: 12px;
	place-items: center;
	border-radius: 15px;
	color: var(--gad-accent);
	background: var(--gad-accent-soft);
	font-size: 22px;
}

.gad-chart-empty h3 {
	margin: 0 0 6px;
	color: var(--gad-ink);
	font-size: 17px;
}

.gad-chart-empty p {
	margin: 0;
	font-size: 12px;
}

/* Reminder list */
.gad-list-section {
	min-height: 370px;
	padding: 28px;
	border: 1px solid var(--gad-line);
	border-radius: 22px;
	background: var(--gad-card);
	box-shadow: 0 14px 36px rgba(26, 36, 56, .055);
}

.gad-section-heading {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 20px;
	margin-bottom: 22px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--gad-line);
}

.gad-section-heading h2 {
	margin: 0;
	color: var(--gad-ink);
	font-size: 25px;
	font-weight: 800;
	letter-spacing: -.7px;
}

.gad-section-controls {
	display: flex;
	align-items: center;
	gap: 12px;
}

.gad-section-heading [data-gad-count] {
	display: grid;
	min-width: 40px;
	height: 34px;
	padding: 0 11px;
	place-items: center;
	border-radius: 999px;
	color: var(--gad-accent);
	background: var(--gad-accent-soft);
	font-size: 13px;
	font-weight: 800;
}

.gad-view-toggle {
	display: inline-flex;
	gap: 3px;
	padding: 3px;
	border: 1px solid var(--gad-line);
	border-radius: 12px;
	background: var(--gad-soft);
}

.gad-app .gad-view-toggle button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	min-height: 32px;
	padding: 0 10px !important;
	border: 0 !important;
	border-radius: 9px !important;
	color: var(--gad-muted) !important;
	background: transparent !important;
	box-shadow: none !important;
	font-size: 11px !important;
	font-weight: 800 !important;
}

.gad-app .gad-view-toggle button:hover,
.gad-app .gad-view-toggle button.is-active {
	color: var(--gad-accent-dark) !important;
	background: var(--gad-card) !important;
	box-shadow: 0 2px 7px rgba(24, 32, 49, .09) !important;
}

.gad-app .gad-view-toggle button:focus-visible {
	outline: 2px solid var(--gad-accent);
	outline-offset: 1px;
}

.gad-loading,
.gad-api-error {
	padding: 46px 20px;
	color: var(--gad-muted);
	font-size: 14px;
	text-align: center;
}

.gad-api-error { color: var(--gad-red); }

.gad-reminder-list {
	display: grid;
	gap: 11px;
}

.gad-reminder-list.is-grid {
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 16px;
}

.gad-reminder {
	display: grid;
	grid-template-columns: 54px minmax(220px, 1fr) auto;
	align-items: center;
	gap: 17px;
	padding: 17px 18px;
	border: 1px solid var(--gad-card-border);
	border-radius: 15px;
	background: var(--gad-card);
	box-shadow: 0 4px 12px rgba(26, 36, 56, .025);
	transition: border-color .18s ease, box-shadow .18s ease, transform .18s ease;
}

.gad-reminder-list.is-grid .gad-reminder {
	grid-template-columns: 50px minmax(0, 1fr);
	align-items: start;
	min-height: 220px;
}

.gad-reminder-list.is-grid .gad-reminder-actions {
	grid-column: 1 / -1;
	align-self: end;
	justify-content: stretch;
	width: 100%;
	margin-top: auto;
	padding-top: 14px;
	border-top: 1px solid var(--gad-line);
}

.gad-reminder-list.is-grid .gad-action-button {
	flex: 1 1 0;
	min-width: 0;
}

.gad-reminder-list.is-grid .gad-reminder small {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	white-space: normal;
}

.gad-reminder:hover {
	border-color: var(--gad-accent-border);
	box-shadow: 0 9px 22px rgba(var(--gad-accent-rgb), .09);
	transform: translateY(-1px);
}

.gad-reminder-icon {
	display: grid;
	width: 50px;
	height: 50px;
	place-items: center;
	border-radius: 13px;
	color: var(--gad-accent);
	background: var(--gad-accent-soft);
	font-size: 13px;
	font-weight: 850;
}

.gad-reminder-icon.gad-space-icon,
.gad-summary-item-icon.gad-space-icon {
	border: 1px solid var(--gad-space-color);
	color: var(--gad-space-color);
	background: var(--gad-control-soft);
	background: color-mix(in srgb, var(--gad-space-color) 12%, var(--gad-card));
}

.gad-reminder-icon.gad-space-icon .dashicons,
.gad-summary-item-icon.gad-space-icon .dashicons {
	width: auto;
	height: auto;
	font-size: 23px;
	line-height: 1;
}

.gad-category-invoice { color: #16825c; background: #e8f7f1; }
.gad-category-revision { color: #a96206; background: #fff2de; }
.gad-category-insurance { color: #3471c8; background: #eaf2ff; }
.gad-category-birthday { color: #b63f70; background: #ffedf4; }
.gad-category-task { color: var(--gad-accent); background: var(--gad-accent-soft); }

.gad-reminder-content {
	min-width: 0;
}

.gad-reminder-top {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 9px;
	margin-bottom: 5px;
}

.gad-reminder-top > span:first-child {
	color: #858ea1;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: .07em;
	text-transform: uppercase;
}

.gad-workspace-badge {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	min-width: 0;
	color: var(--gad-muted);
	font-size: 10px;
	font-weight: 750;
	letter-spacing: 0;
	text-transform: none;
}

.gad-workspace-badge i {
	flex: 0 0 7px;
	width: 7px;
	height: 7px;
	border-radius: 50%;
	background: var(--gad-space-color, var(--gad-accent));
}

.gad-due-badge {
	padding: 4px 9px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 800;
}

.gad-due-badge.is-overdue { color: #b92934; background: #ffebed; }
.gad-due-badge.is-today,
.gad-due-badge.is-soon { color: #945b0a; background: #fff0d9; }
.gad-due-badge.is-future { color: #287158; background: #e7f6f0; }
.gad-due-badge.is-done { color: #687183; background: #edf0f4; }

.gad-reminder h3 {
	margin: 0 0 5px;
	color: var(--gad-ink);
	font-size: 16px;
	font-weight: 780;
	line-height: 1.35;
}

.gad-reminder p,
.gad-reminder small {
	display: block;
	margin: 0;
	color: var(--gad-muted);
	font-size: 13px;
	line-height: 1.45;
}

.gad-reminder small {
	overflow: hidden;
	margin-top: 6px;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gad-reminder.is-done {
	background: var(--gad-card-muted);
	opacity: .82;
}

.gad-reminder.is-done h3 {
	color: #818a9d;
	text-decoration: line-through;
}

.gad-reminder-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.gad-app .gad-action-button {
	min-width: 88px;
	min-height: 40px;
	padding: 0 13px !important;
	border: 1px solid var(--gad-control-border) !important;
	color: var(--gad-muted) !important;
	background: var(--gad-control) !important;
	font-size: 12px !important;
}

.gad-action-button > span {
	margin-right: 6px;
	font-size: 16px;
}

.gad-app .gad-action-button.is-status:hover {
	color: #126c50 !important;
	border-color: #8fd1ba !important;
	background: #eaf8f3 !important;
}

.gad-app .gad-action-button.is-edit:hover {
	color: var(--gad-accent-dark) !important;
	border-color: var(--gad-accent-border) !important;
	background: var(--gad-accent-soft) !important;
}

.gad-app .gad-action-button.is-delete:hover {
	color: #ae2d36 !important;
	border-color: #efabb0 !important;
	background: #fff0f1 !important;
}

.gad-empty {
	padding: 58px 20px;
	color: var(--gad-muted);
	text-align: center;
}

.gad-empty > div {
	display: grid;
	width: 56px;
	height: 56px;
	margin: 0 auto 16px;
	place-items: center;
	border-radius: 17px;
	color: var(--gad-green);
	background: #e8f7f1;
	font-size: 22px;
}

.gad-empty h3 {
	margin: 0 0 7px;
	color: var(--gad-ink);
	font-size: 19px;
}

.gad-empty p {
	margin: 0;
	font-size: 13px;
}

/* Dialog */
.gad-dialog {
	width: min(760px, calc(100vw - 32px));
	max-height: calc(100vh - 32px);
	padding: 0;
	overflow: hidden;
	border: 0;
	border-radius: 22px;
	color: var(--gad-ink);
	background: var(--gad-card);
	box-shadow: 0 32px 90px rgba(15, 18, 28, .3);
}

.gad-dialog::backdrop {
	background: rgba(14, 17, 27, .66);
	backdrop-filter: blur(4px);
}

.gad-summary-dialog {
	width: min(880px, calc(100vw - 32px));
}

.gad-summary-shell {
	max-height: calc(100vh - 32px);
	padding: 32px;
	overflow: auto;
}

.gad-summary-description {
	margin: -14px 0 22px;
	color: var(--gad-muted);
	font-size: 13px;
}

.gad-summary-list {
	display: grid;
	gap: 12px;
}

.gad-summary-item {
	display: grid;
	grid-template-columns: 48px minmax(0, 1fr) auto;
	align-items: center;
	gap: 15px;
	padding: 16px;
	border: 1px solid var(--gad-line);
	border-radius: 14px;
	background: var(--gad-card-muted);
}

.gad-summary-item.is-done {
	opacity: .82;
}

.gad-summary-item-icon {
	display: grid;
	width: 48px;
	height: 48px;
	place-items: center;
	border-radius: 13px;
	color: var(--gad-accent);
	background: var(--gad-accent-soft);
	font-size: 14px;
	font-weight: 850;
}

.gad-summary-item-icon.gad-category-invoice { color: #16825c; background: #e8f7f1; }
.gad-summary-item-icon.gad-category-revision { color: #a96206; background: #fff2de; }
.gad-summary-item-icon.gad-category-insurance { color: #3471c8; background: #eaf2ff; }
.gad-summary-item-icon.gad-category-birthday { color: #b63f70; background: #ffedf4; }
.gad-summary-item-icon.gad-category-task { color: var(--gad-accent); background: var(--gad-accent-soft); }

.gad-summary-item-copy {
	min-width: 0;
}

.gad-summary-item-meta {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-bottom: 4px;
	color: var(--gad-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.gad-summary-item-copy h3 {
	margin: 0;
	color: var(--gad-ink);
	font-size: 16px;
	font-weight: 800;
}

.gad-summary-item-copy p,
.gad-summary-item-copy small {
	display: block;
	margin: 3px 0 0;
	color: var(--gad-muted);
	font-size: 12px;
}

.gad-summary-item-copy small {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.gad-summary-item-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
}

.gad-summary-empty {
	display: grid;
	min-height: 170px;
	place-items: center;
	align-content: center;
	gap: 10px;
	border: 1px dashed var(--gad-line);
	border-radius: 14px;
	color: var(--gad-muted);
	background: var(--gad-card-muted);
	text-align: center;
}

.gad-summary-empty > span {
	display: grid;
	width: 42px;
	height: 42px;
	place-items: center;
	border-radius: 50%;
	color: var(--gad-green);
	background: var(--gad-control-soft);
	font-size: 20px;
}

.gad-reminder-form {
	max-height: calc(100vh - 32px);
	padding: 32px;
	overflow: auto;
}

.gad-dialog-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 26px;
}

.gad-dialog-head h2 {
	margin: 0;
	color: var(--gad-ink);
	font-size: 28px;
	font-weight: 800;
	letter-spacing: -.8px;
}

.gad-app .gad-dialog-head > button {
	flex: 0 0 40px;
	width: 40px;
	height: 40px;
	min-height: 40px;
	padding: 0 !important;
	border: 1px solid var(--gad-control-border) !important;
	color: var(--gad-muted) !important;
	background: var(--gad-control-soft) !important;
	font-size: 23px !important;
}

.gad-reminder-form label {
	display: grid;
	gap: 8px;
	margin-bottom: 17px;
	color: var(--gad-label);
	font-size: 13px;
	font-weight: 750;
}

.gad-reminder-form input,
.gad-reminder-form select,
.gad-reminder-form textarea {
	width: 100%;
	min-height: 47px;
	padding: 11px 13px !important;
	border: 1px solid var(--gad-control-border) !important;
	border-radius: 11px !important;
	outline: 0;
	color: var(--gad-ink) !important;
	background: var(--gad-control) !important;
	font-size: 14px !important;
	box-shadow: none !important;
}

.gad-reminder-form textarea {
	resize: vertical;
}

.gad-reminder-form input:focus,
.gad-reminder-form select:focus,
.gad-reminder-form textarea:focus {
	border-color: var(--gad-accent) !important;
	box-shadow: 0 0 0 3px rgba(var(--gad-accent-rgb), .12) !important;
}

.gad-reminder-form label > small {
	color: var(--gad-muted);
	font-size: 11px;
	font-weight: 550;
}

.gad-workspace-dialog {
	width: min(620px, calc(100vw - 32px));
}

.gad-settings-dialog {
	width: min(860px, calc(100vw - 32px));
}

.gad-workspace-color-label > span {
	display: flex;
	align-items: center;
	gap: 12px;
}

.gad-reminder-form .gad-workspace-color-label input[type="color"] {
	width: 72px;
	height: 48px;
	padding: 5px !important;
	cursor: pointer;
}

.gad-workspace-color-label strong {
	color: var(--gad-muted);
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
	font-size: 13px;
	text-transform: uppercase;
}

.gad-workspace-icon-settings {
	min-width: 0;
	margin: 2px 0 18px;
	padding: 16px;
	border: 1px solid var(--gad-line);
	border-radius: 14px;
	background: var(--gad-control-soft);
}

.gad-workspace-icon-settings legend {
	padding: 0 8px;
	color: var(--gad-ink);
	font-size: 13px;
	font-weight: 800;
}

.gad-workspace-icon-settings > small {
	display: block;
	margin-top: 11px;
	color: var(--gad-muted);
	font-size: 10px;
}

.gad-workspace-icon-grid {
	display: grid;
	grid-template-columns: repeat(10, minmax(0, 1fr));
	gap: 7px;
}

.gad-workspace-icon-grid label {
	position: relative;
	display: block;
	margin: 0;
}

.gad-workspace-icon-grid input {
	position: absolute;
	width: 1px !important;
	height: 1px !important;
	min-height: 0 !important;
	opacity: 0;
	pointer-events: none;
}

.gad-workspace-icon-grid span {
	display: grid;
	width: 100%;
	aspect-ratio: 1;
	place-items: center;
	border: 1px solid var(--gad-control-border);
	border-radius: 10px;
	color: var(--gad-muted);
	background: var(--gad-card);
	cursor: pointer;
	transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}

.gad-workspace-icon-grid .dashicons {
	width: auto;
	height: auto;
	font-size: 21px;
	line-height: 1;
}

.gad-workspace-icon-grid label:hover span {
	color: var(--gad-accent);
	border-color: var(--gad-accent-border);
	transform: translateY(-1px);
}

.gad-workspace-icon-grid input:checked + span {
	color: #fff;
	border-color: var(--gad-accent);
	background: var(--gad-accent);
	box-shadow: 0 5px 13px rgba(var(--gad-accent-rgb), .22);
}

.gad-workspace-icon-grid input:focus-visible + span {
	outline: 3px solid rgba(var(--gad-accent-rgb), .2);
	outline-offset: 2px;
}

.gad-workspace-warning {
	padding: 13px 15px;
	border: 1px solid var(--gad-control-border);
	border-radius: 11px;
	color: var(--gad-muted);
	background: var(--gad-control-soft);
	font-size: 12px;
	line-height: 1.5;
}

.gad-reminder-form .gad-default-workspace-option {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin: 0 0 16px;
	padding: 13px 15px;
	border: 1px solid var(--gad-control-border);
	border-radius: 11px;
	background: var(--gad-control-soft);
	cursor: pointer;
}

.gad-reminder-form .gad-default-workspace-option input {
	width: 18px;
	height: 18px;
	min-height: 18px;
	margin: 2px 0 0;
	padding: 0 !important;
	accent-color: var(--gad-accent);
}

.gad-default-workspace-option span {
	display: grid;
	gap: 3px;
}

.gad-default-workspace-option strong {
	color: var(--gad-ink);
	font-size: 13px;
}

.gad-default-workspace-option small {
	color: var(--gad-muted);
	font-size: 10px;
	font-weight: 550;
}

.gad-default-workspace-option:has(input:disabled) {
	cursor: default;
	opacity: .8;
}

.gad-workspace-actions {
	display: grid;
	grid-template-columns: auto 1fr auto auto;
}

.gad-app .gad-danger-button {
	min-height: 44px;
	padding: 0 16px !important;
	border: 1px solid #efabb0 !important;
	color: #ae2d36 !important;
	background: #fff0f1 !important;
	font-size: 13px !important;
}

.gad-app .gad-danger-button:hover {
	border-color: #d76c75 !important;
	background: #ffe3e6 !important;
}

.gad-app .gad-danger-button:disabled {
	cursor: not-allowed;
	opacity: .55;
}

.gad-notification-box,
.gad-skin-settings {
	min-width: 0;
	margin: 4px 0 18px;
	padding: 18px;
	border: 1px solid var(--gad-line);
	border-radius: 14px;
	background: var(--gad-control-soft);
}

.gad-notification-box legend,
.gad-skin-settings legend {
	padding: 0 8px;
	color: var(--gad-ink);
	font-size: 13px;
	font-weight: 800;
}

.gad-channel-switches {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 16px;
}

.gad-reminder-form .gad-check {
	display: inline-flex;
	align-items: center;
	gap: 9px;
	margin: 0;
	padding: 10px 13px;
	border: 1px solid var(--gad-accent-border);
	border-radius: 10px;
	color: var(--gad-accent-dark);
	background: var(--gad-accent-soft);
}

.gad-reminder-form .gad-check input,
.gad-reminder-form .gad-skin-grid input {
	width: 18px;
	height: 18px;
	min-height: 0;
	margin: 0;
	padding: 0 !important;
	accent-color: var(--gad-accent);
}

.gad-account-summary {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 24px;
	padding: 16px;
	border: 1px solid var(--gad-line);
	border-radius: 14px;
	background: var(--gad-control-soft);
}

.gad-account-summary img {
	width: 56px;
	height: 56px;
	border-radius: 14px;
}

.gad-account-summary > div {
	display: grid;
	min-width: 0;
}

.gad-account-summary strong {
	color: var(--gad-ink);
	font-size: 15px;
}

.gad-account-summary span {
	overflow: hidden;
	color: var(--gad-muted);
	font-size: 12px;
	text-overflow: ellipsis;
}

.gad-account-summary a {
	margin-top: 4px;
	color: var(--gad-accent);
	font-size: 12px;
	font-weight: 750;
	text-decoration: none;
}

.gad-settings-tabs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 7px;
	margin: -4px 0 24px;
	padding: 6px;
	border: 1px solid var(--gad-line);
	border-radius: 14px;
	background: var(--gad-control-soft);
}

.gad-app .gad-settings-tabs button {
	min-height: 42px;
	padding: 8px 12px !important;
	border: 1px solid transparent !important;
	border-radius: 10px !important;
	color: var(--gad-muted) !important;
	background: transparent !important;
	font-size: 12px !important;
	font-weight: 800 !important;
	box-shadow: none !important;
}

.gad-app .gad-settings-tabs button:hover {
	color: var(--gad-ink) !important;
	background: var(--gad-control) !important;
}

.gad-app .gad-settings-tabs button.is-active {
	border-color: var(--gad-accent-border) !important;
	color: var(--gad-accent-dark) !important;
	background: var(--gad-card) !important;
	box-shadow: 0 5px 14px rgba(19, 30, 49, .08) !important;
}

.gad-settings-panel[hidden] {
	display: none !important;
}

.gad-settings-panel {
	min-height: 310px;
}

.gad-settings-section-head {
	margin-bottom: 20px;
}

.gad-settings-section-head h3 {
	margin: 0 0 6px;
	color: var(--gad-ink);
	font-size: 18px;
	font-weight: 850;
}

.gad-settings-section-head p,
.gad-email-settings-note {
	margin: 0;
	color: var(--gad-muted);
	font-size: 11px;
	line-height: 1.55;
}

.gad-email-settings {
	padding: 19px;
	border: 1px solid var(--gad-line);
	border-radius: 14px;
	background: var(--gad-control-soft);
}

.gad-email-settings-grid {
	display: grid;
	grid-template-columns: minmax(180px, .72fr) minmax(240px, 1.28fr);
	gap: 0 16px;
}

.gad-email-settings-grid .is-wide {
	grid-column: 1 / -1;
}

.gad-reminder-form .gad-email-color-control > span {
	display: flex;
	align-items: center;
	gap: 12px;
}

.gad-reminder-form .gad-email-color-control input[type="color"] {
	flex: 0 0 72px;
	width: 72px;
	height: 47px;
	min-height: 47px;
	padding: 5px !important;
	cursor: pointer;
}

.gad-email-color-control strong {
	color: var(--gad-muted);
	font-size: 12px;
	letter-spacing: .4px;
}

.gad-email-preview-wrap {
	margin-top: 3px;
}

.gad-email-preview-label {
	margin: 0 0 8px;
	color: var(--gad-label);
	font-size: 12px;
	font-weight: 800;
}

.gad-email-preview {
	--gad-email-accent: #6c5ce7;
	overflow: hidden;
	border: 1px solid #dfe4eb;
	border-radius: 13px;
	color: #171923;
	background: #fff;
	box-shadow: 0 9px 22px rgba(19, 30, 49, .08);
}

.gad-email-preview > i {
	display: block;
	height: 6px;
	background: var(--gad-email-accent);
}

.gad-email-preview > div {
	padding: 22px 24px;
}

.gad-email-preview > div > strong {
	display: block;
	margin-bottom: 18px;
	color: var(--gad-email-accent);
	font-size: 23px;
	font-weight: 850;
}

.gad-email-preview p {
	margin: 0 0 11px;
	font-size: 12px;
	line-height: 1.55;
}

.gad-email-preview-details {
	margin-top: 14px;
	padding: 12px 14px;
	border-radius: 9px;
	background: #f4f6f8;
	font-size: 11px;
	line-height: 1.7;
}

.gad-email-preview small {
	display: block;
	margin-top: 18px;
	color: #697386;
	font-size: 10px;
}

.gad-email-settings-note {
	margin-top: 13px;
}

.gad-backup-settings {
	margin: 0 0 8px;
	padding: 18px;
	border: 1px solid var(--gad-line);
	border-radius: 14px;
	background: var(--gad-control-soft);
}

.gad-backup-settings-head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 15px;
}

.gad-backup-settings-head h3 {
	margin: 0 0 5px;
	color: var(--gad-ink);
	font-size: 15px;
	font-weight: 850;
}

.gad-backup-settings-head p,
.gad-backup-note {
	margin: 0;
	color: var(--gad-muted);
	font-size: 11px;
	line-height: 1.5;
}

.gad-backup-settings-head > span {
	padding: 5px 8px;
	border-radius: 999px;
	color: var(--gad-accent-dark);
	background: var(--gad-accent-soft);
	font-size: 10px;
	font-weight: 850;
}

.gad-backup-actions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 9px;
}

.gad-app .gad-backup-actions button {
	width: 100%;
	min-height: 44px;
	padding-right: 10px !important;
	padding-left: 10px !important;
	font-size: 12px !important;
}

.gad-app .gad-backup-actions [data-gad-import-backup]:disabled {
	cursor: not-allowed;
}

.gad-backup-file {
	display: block;
	margin-top: 10px;
	color: var(--gad-label);
	font-size: 11px;
	font-weight: 750;
}

.gad-backup-note {
	margin-top: 9px;
}

.gad-backup-message {
	min-height: 18px;
	margin-top: 10px;
	color: var(--gad-muted);
	font-size: 11px;
	font-weight: 700;
}

.gad-backup-message.is-success { color: var(--gad-green); }
.gad-backup-message.is-error { color: var(--gad-red); }

.gad-skin-grid {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 10px;
}

.gad-reminder-form .gad-skin-grid label {
	position: relative;
	display: grid;
	gap: 7px;
	margin: 0;
	padding: 10px;
	border: 1px solid var(--gad-control-border);
	border-radius: 11px;
	background: var(--gad-control);
	cursor: pointer;
}

.gad-skin-grid input {
	position: absolute;
	top: 8px;
	right: 8px;
}

.gad-skin-grid label:has(input:checked) {
	border-color: var(--gad-accent);
	box-shadow: 0 0 0 2px rgba(var(--gad-accent-rgb), .12);
}

.gad-skin-swatch {
	display: block;
	width: 100%;
	height: 34px;
	border-radius: 7px;
}

.gad-skin-swatch.is-violet { background: linear-gradient(135deg, #6557e8, #4f42cf); }
.gad-skin-swatch.is-ocean { background: linear-gradient(135deg, #1477c9, #0d5f9f); }
.gad-skin-swatch.is-forest { background: linear-gradient(135deg, #16825c, #0e6848); }
.gad-skin-swatch.is-sunset { background: linear-gradient(135deg, #d85b35, #b44323); }
.gad-skin-swatch.is-graphite { background: linear-gradient(135deg, #4b5567, #303846); }
.gad-skin-swatch.is-sand { background: linear-gradient(135deg, #f4eee4 0 52%, #9a682f 52% 100%); }
.gad-skin-swatch.is-rose { background: linear-gradient(135deg, #fff0f5 0 52%, #c13f73 52% 100%); }
.gad-skin-swatch.is-ice { background: linear-gradient(135deg, #edf8f8 0 52%, #168b91 52% 100%); }
.gad-skin-swatch.is-royal { background: linear-gradient(135deg, #eef2ff 0 52%, #365acb 52% 100%); }
.gad-skin-swatch.is-amber { background: linear-gradient(135deg, #fff5e5 0 52%, #c47a0b 52% 100%); }
.gad-skin-swatch.is-office-blue { background: linear-gradient(135deg, #eef4fb 0 52%, #185abd 52% 100%); }
.gad-skin-swatch.is-classic-dark { background: linear-gradient(135deg, #10141c 0 52%, #8498f5 52% 100%); }
.gad-skin-swatch.is-grey { background: linear-gradient(135deg, #eceff2 0 52%, #5e6875 52% 100%); }
.gad-skin-swatch.is-ivory { background: linear-gradient(135deg, #f6f1e7 0 52%, #8b6a3c 52% 100%); }
.gad-skin-swatch.is-bordeaux { background: linear-gradient(135deg, #f7eef1 0 52%, #8f3150 52% 100%); }
.gad-skin-swatch.is-neon-pop { background: linear-gradient(135deg, #26e2e5 0 34%, #f02b9d 34% 68%, #c9ff38 68% 100%); }
.gad-skin-swatch.is-aurora { background: linear-gradient(135deg, #2dd4bf 0 35%, #7656e8 35% 70%, #60a5fa 70% 100%); }
.gad-skin-swatch.is-midnight-gold { background: linear-gradient(135deg, #0d1420 0 56%, #d6aa54 56% 100%); }
.gad-skin-swatch.is-sakura-dream { background: linear-gradient(135deg, #fff1f6 0 43%, #ef84ae 43% 72%, #9d7bea 72% 100%); }
.gad-skin-swatch.is-emerald-luxe { background: linear-gradient(135deg, #07342d 0 52%, #0d8b6d 52% 76%, #dcb155 76% 100%); }

.gad-app[data-gad-skin="neon-pop"] .gad-sidebar {
	background:
		radial-gradient(circle at 15% 4%, rgba(38, 226, 229, .42), transparent 29%),
		radial-gradient(circle at 90% 64%, rgba(240, 43, 157, .32), transparent 35%),
		linear-gradient(180deg, #211039 0%, #111b38 100%);
}

.gad-app[data-gad-skin="neon-pop"] .gad-primary,
.gad-app[data-gad-skin="neon-pop"] .gad-nav button.is-active {
	background: linear-gradient(135deg, #f02b9d, #7b3cff) !important;
	border-color: #f02b9d !important;
}

.gad-app[data-gad-skin="aurora"] .gad-sidebar {
	background:
		radial-gradient(circle at 12% 5%, rgba(45, 212, 191, .4), transparent 31%),
		radial-gradient(circle at 92% 72%, rgba(118, 86, 232, .32), transparent 37%),
		linear-gradient(180deg, #14213a 0%, #17122f 100%);
}

.gad-app[data-gad-skin="aurora"] .gad-primary,
.gad-app[data-gad-skin="aurora"] .gad-nav button.is-active {
	background: linear-gradient(135deg, #7656e8, #21a997) !important;
	border-color: #7656e8 !important;
}

.gad-app[data-gad-skin="midnight-gold"] .gad-sidebar {
	background:
		radial-gradient(circle at 18% 4%, rgba(214, 170, 84, .28), transparent 31%),
		linear-gradient(180deg, #111827 0%, #05080e 100%);
}

.gad-app[data-gad-skin="midnight-gold"] .gad-primary,
.gad-app[data-gad-skin="midnight-gold"] .gad-nav button.is-active {
	border-color: #d6aa54 !important;
	color: #19130a !important;
	background: linear-gradient(135deg, #edd18e, #bd8c35) !important;
}

.gad-app[data-gad-skin="sakura-dream"] .gad-sidebar {
	background:
		radial-gradient(circle at 15% 5%, rgba(239, 132, 174, .42), transparent 32%),
		radial-gradient(circle at 88% 76%, rgba(157, 123, 234, .28), transparent 36%),
		linear-gradient(180deg, #3c1d34 0%, #24152b 100%);
}

.gad-app[data-gad-skin="sakura-dream"] .gad-primary,
.gad-app[data-gad-skin="sakura-dream"] .gad-nav button.is-active {
	background: linear-gradient(135deg, #d84d85, #8a5ed1) !important;
	border-color: #d84d85 !important;
}

.gad-app[data-gad-skin="emerald-luxe"] .gad-sidebar {
	background:
		radial-gradient(circle at 15% 5%, rgba(220, 177, 85, .34), transparent 30%),
		radial-gradient(circle at 88% 74%, rgba(13, 139, 109, .32), transparent 38%),
		linear-gradient(180deg, #0b3b32 0%, #05241f 100%);
}

.gad-app[data-gad-skin="emerald-luxe"] .gad-primary,
.gad-app[data-gad-skin="emerald-luxe"] .gad-nav button.is-active {
	background: linear-gradient(135deg, #0d8b6d, #b28939) !important;
	border-color: #0d8b6d !important;
}

.gad-app[data-gad-skin="classic-dark"] .gad-eyebrow,
.gad-app[data-gad-skin="midnight-gold"] .gad-eyebrow,
.gad-app[data-gad-skin="classic-dark"] .gad-welcome-motto,
.gad-app[data-gad-skin="midnight-gold"] .gad-welcome-motto,
.gad-app[data-gad-skin="classic-dark"] .gad-stats small,
.gad-app[data-gad-skin="midnight-gold"] .gad-stats small,
.gad-app[data-gad-skin="classic-dark"] .gad-reminder-top > span:first-child,
.gad-app[data-gad-skin="midnight-gold"] .gad-reminder-top > span:first-child {
	color: #aab4c4;
}

.gad-app[data-gad-skin="classic-dark"] .gad-reminder-form input,
.gad-app[data-gad-skin="classic-dark"] .gad-reminder-form select,
.gad-app[data-gad-skin="classic-dark"] .gad-reminder-form textarea,
.gad-app[data-gad-skin="midnight-gold"] .gad-reminder-form input,
.gad-app[data-gad-skin="midnight-gold"] .gad-reminder-form select,
.gad-app[data-gad-skin="midnight-gold"] .gad-reminder-form textarea {
	color-scheme: dark;
}

.gad-app[data-gad-skin="classic-dark"] .gad-reminder-form .gad-check,
.gad-app[data-gad-skin="classic-dark"] .gad-view-toggle button.is-active,
.gad-app[data-gad-skin="classic-dark"] .gad-action-button.is-edit:hover {
	color: #c3ccff !important;
}

.gad-skin-grid strong {
	font-size: 11px;
	text-align: center;
}

.gad-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 16px;
}

.gad-form-grid > label {
	align-content: start;
	align-self: start;
}

.gad-dialog-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 11px;
	margin-top: 24px;
}

.gad-form-message {
	min-height: 20px;
	color: var(--gad-red);
	font-size: 13px;
}

.gad-toast {
	position: fixed;
	right: 26px;
	bottom: 26px;
	z-index: 999999;
	max-width: 380px;
	padding: 14px 18px;
	border-radius: 12px;
	color: #fff;
	background: #202638;
	box-shadow: 0 14px 36px rgba(0, 0, 0, .24);
	opacity: 0;
	transform: translateY(16px);
	pointer-events: none;
	transition: opacity .24s ease, transform .24s ease;
}

.gad-toast.is-visible {
	opacity: 1;
	transform: translateY(0);
}

.gad-toast.is-error { background: #b72f39; }

/* Login */
.gad-login-shell {
	display: grid;
	position: fixed;
	inset: 0;
	z-index: 99999;
	width: 100vw;
	height: 100vh;
	height: 100dvh;
	min-height: 0;
	margin: 0;
	padding: 34px;
	overflow: auto;
	place-items: center;
	background: radial-gradient(circle at top left, #7568e9 0, #262a40 42%, #151927 100%);
}

body.gad-system-page {
	width: 100%;
	min-height: 100vh;
	margin: 0 !important;
	padding: 0 !important;
	overflow: hidden !important;
	background: #151927;
}

body.gad-system-page .gad-system-page-content {
	display: block;
	width: 100%;
	max-width: none !important;
	min-height: 100vh;
	margin: 0 !important;
	padding: 0 !important;
}

body.admin-bar.gad-system-page .gad-login-shell {
	top: 32px;
	height: calc(100vh - 32px);
	height: calc(100dvh - 32px);
}

.gad-login-card {
	width: min(450px, 100%);
	padding: 42px;
	border-radius: 22px;
	background: #fff;
	box-shadow: 0 32px 80px rgba(0, 0, 0, .25);
}

.gad-login-logo {
	font-size: 40px;
	font-weight: 850;
	letter-spacing: -2.5px;
}

.gad-login-card h2 {
	margin: 27px 0 7px;
	font-size: 30px;
	letter-spacing: -1px;
}

.gad-login-card > p {
	margin: 0 0 26px;
	color: var(--gad-muted);
	font-size: 14px;
}

.gad-login-card label {
	color: #50596c;
	font-size: 13px;
	font-weight: 700;
}

.gad-login-card input[type="text"],
.gad-login-card input[type="password"] {
	width: 100%;
	min-height: 48px;
	margin: 7px 0 15px;
	padding: 10px 13px;
	border: 1px solid #d9deea;
	border-radius: 11px;
}

.gad-login-card .login-submit input {
	width: 100%;
	min-height: 48px;
	border: 1px solid var(--gad-accent) !important;
	border-radius: 11px !important;
	color: #fff !important;
	background: var(--gad-accent) !important;
	font-weight: 800;
	cursor: pointer;
}

.gad-login-card .login-remember {
	color: var(--gad-muted);
	font-size: 12px;
}

.gad-lost-password {
	display: block;
	margin-top: 17px;
	color: var(--gad-accent);
	font-size: 13px;
	text-align: center;
	text-decoration: none;
}

@media (max-width: 1180px) {
	.gad-app { grid-template-columns: 238px minmax(0, 1fr); }
	.gad-sidebar { padding-right: 20px; padding-left: 20px; }
	.gad-main { padding-right: 30px; padding-left: 30px; }
	.gad-stats { grid-template-columns: repeat(2, minmax(200px, 1fr)); }
	.gad-calendar-body { grid-template-columns: 1fr; }
	.gad-calendar-side { position: static; grid-template-columns: minmax(0, 1fr) minmax(240px, .5fr); align-items: start; }
	.gad-day-panel { position: static; }
	.gad-day-events { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gad-app .gad-workspace-select,
	.gad-app .gad-workspace-manage,
	.gad-app .gad-workspace-add { flex: 0 0 46px; width: 46px; padding: 0 !important; font-size: 0 !important; }
	.gad-workspace-select > span,
	.gad-workspace-manage > span,
	.gad-workspace-add > span { margin: 0; font-size: 19px; }
}

@media (max-width: 860px) {
	.gad-app.gad-layout-fullscreen {
		display: block;
		overflow-y: auto;
		overscroll-behavior-y: contain;
		scrollbar-width: none;
	}

	.gad-app.gad-layout-fullscreen::-webkit-scrollbar {
		display: none;
	}

	.gad-app {
		display: block;
		min-height: 100vh;
	}

	.gad-sidebar,
	body.admin-bar .gad-sidebar {
		position: relative;
		top: auto;
		display: grid;
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: 22px;
		width: 100%;
		height: auto;
		min-height: 0;
		padding: 20px 24px;
	}

	.gad-app.gad-layout-fullscreen .gad-sidebar,
	body.admin-bar .gad-app.gad-layout-fullscreen .gad-sidebar {
		height: auto;
	}

	.gad-app.gad-layout-fullscreen .gad-main {
		height: auto;
		overflow: visible;
	}

	.gad-brand-block { padding: 0; }
	.gad-brand { font-size: 32px; }
	.gad-brand-subtitle { display: none; }
	.gad-nav { display: flex; gap: 6px; margin: 0; overflow-x: auto; }
	.gad-app .gad-nav button { width: auto; min-width: max-content; min-height: 42px; padding: 7px 11px !important; }
	.gad-nav-icon { width: 24px; height: 24px; flex-basis: 24px; font-size: 15px; }
	.gad-today { display: none; }
	.gad-user { margin: 0; padding: 0; border: 0; }
	.gad-user > div { display: none; }
	.gad-user img { width: 40px; height: 40px; }
	.gad-sidebar-signature { display: none; }
	.gad-main { padding: 0 24px 42px; }
	.gad-topbar { min-height: 104px; }
}

@media (max-width: 640px) {
	body.admin-bar .gad-sidebar { top: auto; }
	.gad-sidebar { display: block; padding: 16px; }
	.gad-brand-block { display: flex; align-items: baseline; justify-content: space-between; }
	.gad-nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 15px; overflow: visible; }
	.gad-app .gad-nav button { width: 100%; min-width: 0; font-size: 12px !important; }
	.gad-user { display: flex; margin-top: 14px; padding-top: 14px; }
	.gad-user > div { display: grid; }
	.gad-main { padding: 0 15px 30px; }
	.gad-topbar { display: grid; min-height: 0; padding: 22px 0; }
	.gad-workspace-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: stretch; }
	.gad-workspace-row select { width: 100%; min-width: 0; }
	.gad-topbar-actions { width: 100%; justify-content: space-between; }
	.gad-new-reminder { flex: 1 1 auto; width: auto; }
	.gad-language-switch { flex: 0 0 auto; }
	.gad-app .gad-language-switch button { width: 39px; height: 39px; min-height: 39px; }
	.gad-welcome { display: block; padding: 28px 2px 23px; }
	.gad-welcome h1 { font-size: 36px; }
	.gad-welcome-motto { display: none; }
	.gad-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin-bottom: 18px; }
	.gad-app .gad-stat-card { min-height: 132px; padding: 17px; }
	.gad-stat-head > span { font-size: 12px; }
	.gad-stats strong { font-size: 35px; }
	.gad-stats small > span { display: none; }
	.gad-list-section { padding: 18px 14px; border-radius: 17px; }
	.gad-calendar-section { padding: 18px 14px; border-radius: 17px; }
	.gad-chart-section { padding: 18px 14px; border-radius: 17px; }
	.gad-calendar-head { align-items: flex-start; margin-bottom: 14px; padding: 0 2px 15px; }
	.gad-calendar-head h2 { font-size: 22px; }
	.gad-calendar-tools { width: 100%; }
	.gad-calendar-filter { flex: 1 1 180px; }
	.gad-calendar-filter select { width: 100%; }
	.gad-calendar-jump { width: 100%; }
	.gad-calendar-jump label { flex: 1 1 0; }
	.gad-calendar-jump select,
	.gad-calendar-jump label:last-child select { width: 100%; }
	.gad-calendar-navigation { width: 100%; grid-template-columns: 42px minmax(86px, 1fr) 42px; }
	.gad-app .gad-calendar-day { min-height: 72px; }
	.gad-app .gad-calendar-day-select { min-height: 72px; padding: 6px !important; }
	.gad-app .gad-calendar-day-add { top: 5px; right: 5px; width: 23px; height: 23px; min-height: 23px; border-radius: 7px !important; font-size: 16px !important; opacity: 1; transform: none; }
	.gad-calendar-day-number { width: 24px; height: 24px; border-radius: 7px; font-size: 11px; }
	.gad-calendar-dots { gap: 3px; }
	.gad-calendar-dots i { width: 8px; height: 8px; flex-basis: 8px; box-shadow: none; }
	.gad-calendar-dots small { font-size: 8px; }
	.gad-calendar-side { grid-template-columns: 1fr; }
	.gad-day-panel { padding: 16px; }
	.gad-calendar-legend-card { padding: 16px; }
	.gad-day-events { grid-template-columns: 1fr; }
	.gad-chart-head { align-items: flex-start; margin-bottom: 14px; padding: 0 2px 15px; }
	.gad-chart-head h2 { font-size: 21px; }
	.gad-chart-controls { width: 100%; justify-content: stretch; }
	.gad-chart-view-toggle { width: 100%; }
	.gad-chart-view-toggle button { flex: 1 1 0; }
	.gad-chart-navigation { width: 100%; grid-template-columns: 38px minmax(120px, 1fr) 54px 38px; }
	.gad-column-chart-inner { grid-template-rows: 24px 275px 50px; padding: 14px 14px 5px 7px; }
	.gad-chart-legend { gap: 8px 12px; }
	.gad-section-heading { align-items: flex-start; margin-bottom: 14px; padding: 0 2px 15px; }
	.gad-section-heading h2 { font-size: 21px; }
	.gad-section-controls { width: 100%; justify-content: space-between; }
	.gad-reminder-list.is-grid { grid-template-columns: 1fr; }
	.gad-reminder { grid-template-columns: 44px minmax(0, 1fr); gap: 12px; padding: 14px; }
	.gad-reminder-icon { width: 42px; height: 42px; }
	.gad-reminder-actions { grid-column: 1 / -1; justify-content: stretch; }
	.gad-app .gad-action-button { flex: 1 1 0; min-width: 0; padding-right: 8px !important; padding-left: 8px !important; }
	.gad-form-grid { grid-template-columns: 1fr; }
	.gad-reminder-form { padding: 22px 18px; }
	.gad-summary-shell { padding: 22px 18px; }
	.gad-summary-item { grid-template-columns: 42px minmax(0, 1fr); gap: 12px; padding: 14px; }
	.gad-summary-item-icon { width: 42px; height: 42px; }
	.gad-workspace-icon-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
	.gad-summary-item-actions { grid-column: 1 / -1; justify-content: stretch; }
	.gad-summary-item-actions .gad-action-button { flex: 1 1 0; min-width: 0; }
	.gad-skin-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.gad-settings-tabs { grid-template-columns: 1fr; }
	.gad-settings-panel { min-height: 0; }
	.gad-email-settings { padding: 16px; }
	.gad-email-settings-grid { grid-template-columns: 1fr; }
	.gad-email-settings-grid .is-wide { grid-column: auto; }
	.gad-email-preview > div { padding: 19px; }
	.gad-backup-actions { grid-template-columns: 1fr; }
	.gad-dialog-actions { display: grid; grid-template-columns: 1fr 1fr; }
	.gad-workspace-actions { grid-template-columns: 1fr 1fr; }
	.gad-workspace-actions > span { display: none; }
	.gad-dialog-actions .gad-primary,
	.gad-dialog-actions .gad-secondary { width: 100%; }
	.gad-login-shell { padding: 18px; }
	.gad-login-card { padding: 30px 24px; }
}

@media (hover: none), (pointer: coarse) {
	.gad-calendar-preview { display: none !important; }
}

@media (max-width: 360px) {
	.gad-stats { grid-template-columns: 1fr; }
	.gad-nav { grid-template-columns: 1fr; }
}

@media (max-width: 782px) {
	body.admin-bar.gad-system-page .gad-login-shell {
		top: 46px;
		height: calc(100vh - 46px);
		height: calc(100dvh - 46px);
	}

	body.admin-bar .gad-sidebar { top: auto; }
}
