/*
 * KeepURL dashboard base styles.
 */

.entry-content:has(.keepurl-dashboard),
.entry-content:has(.keepurl-public-page),
.entry-content:has(.keepurl-panicroom),
.entry-content:has(.keepurl-login-required),
.wp-block-post-content:has(.keepurl-dashboard),
.wp-block-post-content:has(.keepurl-public-page),
.wp-block-post-content:has(.keepurl-panicroom),
.wp-block-post-content:has(.keepurl-login-required),
.wp-site-blocks:has(.keepurl-dashboard) .entry-content,
.wp-site-blocks:has(.keepurl-public-page) .entry-content,
.wp-site-blocks:has(.keepurl-panicroom) .entry-content,
.wp-site-blocks:has(.keepurl-login-required) .entry-content,
.wp-site-blocks:has(.keepurl-dashboard) .wp-block-post-content,
.wp-site-blocks:has(.keepurl-public-page) .wp-block-post-content,
.wp-site-blocks:has(.keepurl-panicroom) .wp-block-post-content,
.wp-site-blocks:has(.keepurl-login-required) .wp-block-post-content {
	max-width: none;
}

body:has(.keepurl-dashboard) .entry-content,
body:has(.keepurl-public-page) .entry-content,
body:has(.keepurl-panicroom) .entry-content,
body:has(.keepurl-dashboard) .wp-block-post-content,
body:has(.keepurl-public-page) .wp-block-post-content,
body:has(.keepurl-panicroom) .wp-block-post-content,
body:has(.keepurl-dashboard) main,
body:has(.keepurl-public-page) main,
body:has(.keepurl-panicroom) main,
body:has(.keepurl-dashboard) .wp-site-blocks,
body:has(.keepurl-public-page) .wp-site-blocks,
body:has(.keepurl-panicroom) .wp-site-blocks {
	max-width: none !important;
}

body:has(.keepurl-dashboard) main,
body:has(.keepurl-public-page) main,
body:has(.keepurl-panicroom) main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(.keepurl-dashboard) .wp-site-blocks > main,
body:has(.keepurl-public-page) .wp-site-blocks > main,
body:has(.keepurl-panicroom) .wp-site-blocks > main {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(.keepurl-dashboard) main.wp-block-group,
body:has(.keepurl-public-page) main.wp-block-group,
body:has(.keepurl-panicroom) main.wp-block-group,
body:has(.keepurl-dashboard) main.wp-block-group.has-global-padding,
body:has(.keepurl-public-page) main.wp-block-group.has-global-padding,
body:has(.keepurl-panicroom) main.wp-block-group.has-global-padding,
body:has(.keepurl-dashboard) main .wp-block-group.has-global-padding,
body:has(.keepurl-public-page) main .wp-block-group.has-global-padding,
body:has(.keepurl-panicroom) main .wp-block-group.has-global-padding,
body:has(.keepurl-dashboard) main .wp-block-group.is-layout-constrained,
body:has(.keepurl-public-page) main .wp-block-group.is-layout-constrained,
body:has(.keepurl-panicroom) main .wp-block-group.is-layout-constrained {
	padding-top: 0 !important;
}

body:has(.keepurl-dashboard) .entry-content,
body:has(.keepurl-public-page) .entry-content,
body:has(.keepurl-panicroom) .entry-content,
body:has(.keepurl-dashboard) .wp-block-post-content,
body:has(.keepurl-public-page) .wp-block-post-content,
body:has(.keepurl-panicroom) .wp-block-post-content {
	margin-top: 0 !important;
	padding-top: 0 !important;
}

body:has(.keepurl-dashboard) .wp-block-post-title,
body:has(.keepurl-public-page) .wp-block-post-title,
body:has(.keepurl-panicroom) .wp-block-post-title,
body:has(.keepurl-login-required) .wp-block-post-title,
body:has(.keepurl-dashboard) .entry-title,
body:has(.keepurl-public-page) .entry-title,
body:has(.keepurl-panicroom) .entry-title,
body:has(.keepurl-login-required) .entry-title {
	display: none;
}

body:has(.keepurl-public-page) header.wp-block-template-part,
body:has(.keepurl-public-page) footer.wp-block-template-part,
body.keepurl-frontend-page header.wp-block-template-part,
body.keepurl-frontend-page footer.wp-block-template-part {
	display: none !important;
}

body:has(.keepurl-dashboard) header.wp-block-template-part .wp-block-navigation,
body:has(.keepurl-login-required) header.wp-block-template-part .wp-block-navigation {
	display: none !important;
}

.keepurl-auth-page {
	box-sizing: border-box;
	width: min(1200px, calc(100vw - 48px));
	max-width: 1200px;
	margin: 0 auto;
	transform: none;
}

[data-keepurl-auth-source][hidden] {
	display: none;
}

.keepurl-public-page {
	box-sizing: border-box;
	width: min(1200px, calc(100vw - 48px)) !important;
	max-width: 1200px !important;
	margin: 0 auto 48px !important;
	padding: 12px 24px 24px !important;
	color: #1d2327;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.5;
}

.keepurl-public-page *,
.keepurl-public-page *::before,
.keepurl-public-page *::after {
	box-sizing: inherit;
}

.keepurl-public-header,
.keepurl-public-footer {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 14px;
	width: 100%;
	padding: 0 0 12px;
}

.keepurl-public-header {
	border-bottom: 1px solid #dcdcde;
	margin-bottom: 18px;
}

.keepurl-public-footer {
	align-items: center;
	flex-wrap: wrap;
	border-top: 1px solid #dcdcde;
	margin-top: 24px;
	color: #646970;
	font-size: 0.9rem;
	padding: 12px 0 0 0;
}

.keepurl-public-footer-brand {
	display: flex;
	flex: 1 1 320px;
	align-items: center;
	gap: 12px;
	min-width: 0;
	max-width: 100%;
}

.keepurl-public-footer-brand p {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	color: #646970;
	font-size: 0.85rem;
	line-height: 1.5;
	overflow-wrap: anywhere;
}

.keepurl-public-footer p {
	margin: 0;
}

.keepurl-public-brand {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-right: auto;
	color: #1d2327;
	font-size: 1.05rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.keepurl-public-brand .keepurl-app-brand-text {
	min-height: 40px;
}

.keepurl-logo-picture {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
}

.keepurl-public-footer-brand .keepurl-app-brand-logo {
	height: 20px;
}

.keepurl-public-footer-brand .keepurl-app-brand-text {
	min-height: 20px;
}

.keepurl-public-nav,
.keepurl-public-footer-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 10px 14px;
}

.keepurl-public-footer-nav {
	margin-left: auto;
	margin-right: auto;
	text-align: center;
}

.keepurl-public-nav a,
.keepurl-public-footer-nav a,
.keepurl-public-footer a {
	color: #2271b1;
	text-decoration: none;
}

.keepurl-public-footer-nav a.keepurl-public-footer-link {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
	padding: 8px 14px;
	border: 1px solid transparent;
	border-radius: 4px;
	background: transparent;
	color: #1d2327;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.2;
	white-space: nowrap;
}

.keepurl-public-nav a.keepurl-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 14px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.2;
	white-space: nowrap;
}

.keepurl-public-nav a:hover,
.keepurl-public-footer-nav a:hover,
.keepurl-public-footer a:hover,
.keepurl-public-nav a:focus,
.keepurl-public-footer-nav a:focus,
.keepurl-public-footer a:focus {
	text-decoration: underline;
}

.keepurl-public-nav a.keepurl-button:hover,
.keepurl-public-nav a.keepurl-button:focus {
	background: #f6f7f7;
	text-decoration: none;
}

.keepurl-public-footer-nav a.keepurl-public-footer-link:hover,
.keepurl-public-footer-nav a.keepurl-public-footer-link:focus {
	border-color: #dcdcde;
	background: #f6f7f7;
	text-decoration: none;
}

.keepurl-public-nav a.is-active {
	color: #1d2327;
	font-weight: 700;
}

.keepurl-public-footer-nav a.is-active {
	color: #1d2327;
	font-weight: 700;
}

.keepurl-public-footer-nav a.keepurl-public-footer-link.is-active {
	border-color: #2271b1;
	background: #f6f7f7;
	font-weight: 600;
}

.keepurl-public-nav a.keepurl-button.is-active {
	border-color: #2271b1;
	background: #f6f7f7;
	font-weight: 600;
}

.keepurl-page-container {
	display: grid;
	gap: 18px;
	width: 100%;
}

.keepurl-blog-archive {
	display: grid;
	gap: 18px;
}

.keepurl-blog-hero {
	background:
		linear-gradient(180deg, rgba(241, 245, 249, 0.92), rgba(255, 255, 255, 0.98)),
		linear-gradient(135deg, rgba(19, 94, 150, 0.08), rgba(246, 247, 247, 0));
}

.keepurl-blog-kicker {
	margin: 0;
	color: #135e96;
	font-size: 0.82rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

.keepurl-blog-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
	min-width: 0;
}

.keepurl-blog-card {
	display: grid;
	gap: 12px;
	align-content: start;
	padding: 18px;
	border: 1px solid #dcdcde;
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(29, 35, 39, 0.04);
	min-width: 0;
}

.keepurl-blog-card-header,
.keepurl-blog-card-content,
.keepurl-blog-card-actions {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.keepurl-blog-meta {
	display: flex;
	flex-wrap: wrap;
	gap: 6px 10px;
	color: #646970;
	font-size: 0.84rem;
	line-height: 1.4;
}

.keepurl-blog-categories {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 0 6px;
	max-width: 100%;
}

.keepurl-blog-categories a {
	color: #135e96;
	text-decoration: none;
}

.keepurl-blog-card-title {
	margin: 0;
	font-size: 1.3rem;
	line-height: 1.25;
	overflow-wrap: anywhere;
}

.keepurl-blog-card-link {
	color: #1d2327;
	text-decoration: none;
}

.keepurl-blog-card-link:hover,
.keepurl-blog-card-link:focus {
	color: #135e96;
	text-decoration: underline;
}

.keepurl-blog-excerpt {
	margin: 0;
	color: #3c434a;
	line-height: 1.7;
	overflow-wrap: anywhere;
}

.keepurl-blog-read-more {
	justify-self: start;
}

.keepurl-blog-empty {
	display: grid;
	gap: 8px;
	padding: 18px;
	border: 1px dashed #c7d2da;
	border-radius: 10px;
	background: #f7f9fa;
}

.keepurl-about-page .keepurl-page-container,
.keepurl-start-guide-page .keepurl-page-container {
	gap: 16px;
}

.keepurl-page-hero,
.keepurl-page-section,
.keepurl-comparison-card {
	display: grid;
	gap: 10px;
	padding: 18px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #fff;
}

.keepurl-page-hero {
	background: #f6f7f7;
}

.keepurl-page-hero h1,
.keepurl-page-section h2,
.keepurl-comparison-card h3 {
	margin: 0;
	color: #1d2327;
	line-height: 1.25;
}

.keepurl-page-hero h1 {
	font-size: 2rem;
}

.keepurl-page-section h2 {
	font-size: 1.2rem;
}

.keepurl-comparison-card h3 {
	font-size: 1rem;
}

.keepurl-page-hero p,
.keepurl-page-section p,
.keepurl-page-section li,
.keepurl-comparison-card li {
	margin: 0;
	color: #50575e;
}

.keepurl-page-section ul,
.keepurl-page-section ol,
.keepurl-comparison-card ul {
	margin: 0;
	padding-left: 20px;
}

.keepurl-comparison-grid,
.keepurl-guide-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
}

.keepurl-pricing-content {
	gap: 18px;
}

.keepurl-pricing-hero {
	position: relative;
	grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
	align-items: stretch;
	overflow: hidden;
	background: linear-gradient(135deg, #f6f7fb 0%, #ffffff 58%, #eef5ff 100%);
}

.keepurl-pricing-hero::after {
	content: "";
	position: absolute;
	inset: auto -120px -120px auto;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(34, 113, 177, 0.18) 0%, rgba(34, 113, 177, 0) 70%);
	pointer-events: none;
}

.keepurl-pricing-hero-copy,
.keepurl-pricing-hero-panel {
	position: relative;
	z-index: 1;
}

.keepurl-pricing-hero-copy {
	display: grid;
	gap: 12px;
	align-content: start;
}

.keepurl-pricing-eyebrow {
	margin: 0;
	color: #135e96;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 1.2;
	text-transform: uppercase;
}

.keepurl-pricing-hero h1 {
	margin: 0;
	font-size: 2.25rem;
	line-height: 1.1;
}

.keepurl-pricing-subheadline {
	max-width: 760px;
	margin: 0;
	color: #50575e;
	font-size: 1.02rem;
}

.keepurl-pricing-hero-actions {
	justify-content: flex-start;
	margin-top: 2px;
}

.keepurl-pricing-hero-panel {
	display: grid;
	gap: 12px;
	padding: 18px;
	border: 1px solid #dcdcde;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 18px 36px rgba(21, 26, 42, 0.06);
	backdrop-filter: blur(10px);
}

.keepurl-pricing-hero-stat {
	display: grid;
	gap: 4px;
	padding: 14px 16px;
	border-radius: 12px;
	background: #f6f7f7;
}

.keepurl-pricing-hero-stat span {
	color: #646970;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.06em;
	line-height: 1.2;
	text-transform: uppercase;
}

.keepurl-pricing-hero-stat strong {
	color: #1d2327;
	font-size: 1.15rem;
	line-height: 1.2;
}

.keepurl-pricing-section-heading {
	display: flex;
	flex-wrap: wrap;
	align-items: end;
	justify-content: space-between;
	gap: 12px 18px;
}

.keepurl-pricing-section-heading h2 {
	margin: 0;
}

.keepurl-pricing-section-note {
	max-width: 460px;
	margin: 0;
	color: #50575e;
}

.keepurl-pricing-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.keepurl-pricing-grid--private {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.keepurl-pricing-card {
	display: grid;
	gap: 14px;
	padding: 20px;
	border: 1px solid #dcdcde;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(21, 26, 42, 0.05);
}

.keepurl-pricing-card.is-featured {
	border-color: #2271b1;
	box-shadow: 0 14px 28px rgba(34, 113, 177, 0.12);
	transform: translateY(-1px);
}

.keepurl-pricing-card--premium {
	background: linear-gradient(180deg, #fffdf8 0%, #ffffff 100%);
}

.keepurl-pricing-card-header {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.keepurl-pricing-card-header h3 {
	margin: 0;
	font-size: 1.1rem;
}

.keepurl-pricing-badge {
	display: inline-flex;
	margin-top: 6px;
	padding: 4px 9px;
	border-radius: 999px;
	background: #eef6ff;
	color: #135e96;
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.2;
}

.keepurl-pricing-badge.is-featured {
	background: #dceeff;
}

.keepurl-pricing-badge--premium {
	background: #fff3d6;
	color: #8a5a00;
}

.keepurl-pricing-card-price {
	display: grid;
	gap: 4px;
	justify-items: end;
	text-align: right;
}

.keepurl-pricing-price {
	color: #1d2327;
	font-size: 1.18rem;
	font-weight: 700;
	line-height: 1.2;
}

.keepurl-pricing-secondary-price {
	color: #50575e;
	font-size: 0.9rem;
	line-height: 1.2;
}

.keepurl-pricing-positioning {
	margin: 0;
	color: #50575e;
}

.keepurl-pricing-card-columns {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.keepurl-pricing-card-columns h4 {
	margin: 0 0 8px;
	font-size: 0.95rem;
}

.keepurl-pricing-card-columns ul {
	margin: 0;
	padding-left: 18px;
	color: #50575e;
}

.keepurl-pricing-feature-list {
	display: grid;
	gap: 8px;
	margin: 0;
	padding-left: 18px;
	color: #50575e;
}

.keepurl-pricing-note {
	margin: 0;
	padding: 12px 14px;
	border-left: 3px solid #2271b1;
	border-radius: 8px;
	background: #f6f7f7;
	color: #3c434a;
}

.keepurl-pricing-table-wrap {
	overflow-x: auto;
	border: 1px solid #dcdcde;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(21, 26, 42, 0.05);
}

.keepurl-pricing-table {
	width: 100%;
	min-width: 780px;
	border-collapse: collapse;
}

.keepurl-pricing-table th,
.keepurl-pricing-table td {
	padding: 14px 12px;
	border-bottom: 1px solid #dcdcde;
	vertical-align: top;
	text-align: left;
}

.keepurl-pricing-table thead th {
	background: #f6f7f7;
	color: #50575e;
	font-size: 0.8rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.keepurl-pricing-table tbody th {
	width: 240px;
	background: #fff;
	color: #1d2327;
	font-weight: 700;
}

.keepurl-pricing-table td {
	color: #3c434a;
}

.keepurl-pricing-faq-list {
	display: grid;
	gap: 12px;
}

.keepurl-pricing-faq-item {
	overflow: hidden;
	border: 1px solid #dcdcde;
	border-radius: 12px;
	background: #fff;
}

.keepurl-pricing-faq-item summary {
	padding: 16px 18px;
	color: #1d2327;
	font-weight: 700;
	cursor: pointer;
	list-style: none;
}

.keepurl-pricing-faq-item summary::-webkit-details-marker {
	display: none;
}

.keepurl-pricing-faq-item p {
	margin: 0;
	padding: 0 18px 16px;
	color: #50575e;
}

.keepurl-pricing-cta {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	background: linear-gradient(135deg, #135e96 0%, #1d4f7c 100%);
	color: #fff;
}

.keepurl-pricing-cta .keepurl-pricing-eyebrow,
.keepurl-pricing-cta h2 {
	color: #fff;
}

.keepurl-pricing-cta .keepurl-pricing-section-note {
	color: rgba(255, 255, 255, 0.86);
}

.keepurl-pricing-cta .keepurl-button {
	border-color: rgba(255, 255, 255, 0.28);
}

.keepurl-pricing-cta .keepurl-button:not(.keepurl-public-primary-cta) {
	background: rgba(255, 255, 255, 0.08);
	color: #fff;
}

.keepurl-pricing-cta .keepurl-public-primary-cta {
	border-color: #fff;
	background: #fff;
	color: #135e96;
}

.keepurl-pricing-cta .keepurl-public-primary-cta:hover,
.keepurl-pricing-cta .keepurl-public-primary-cta:focus {
	border-color: #fff;
	background: #f6f7f7;
	color: #135e96;
}

.keepurl-contact-content {
	gap: 18px;
}

.keepurl-contact-hero {
	position: relative;
	grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
	align-items: stretch;
	overflow: hidden;
	background: linear-gradient(135deg, #f8faf6 0%, #ffffff 60%, #eef7f1 100%);
}

.keepurl-contact-hero::after {
	content: "";
	position: absolute;
	inset: auto auto -120px -100px;
	width: 260px;
	height: 260px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(0, 163, 43, 0.16) 0%, rgba(0, 163, 43, 0) 70%);
	pointer-events: none;
}

.keepurl-contact-hero-copy,
.keepurl-contact-hero-panel {
	position: relative;
	z-index: 1;
}

.keepurl-contact-hero-copy {
	display: grid;
	gap: 12px;
	align-content: start;
}

.keepurl-contact-hero h1 {
	margin: 0;
	font-size: 2.1rem;
	line-height: 1.1;
}

.keepurl-contact-hero p {
	margin: 0;
	color: #50575e;
}

.keepurl-contact-hero-panel {
	display: grid;
	gap: 10px;
	padding: 18px;
	border: 1px solid #dcdcde;
	border-radius: 16px;
	background: rgba(255, 255, 255, 0.86);
	box-shadow: 0 18px 36px rgba(21, 26, 42, 0.06);
	backdrop-filter: blur(10px);
}

.keepurl-contact-hero-panel strong {
	color: #1d2327;
	font-size: 0.95rem;
}

.keepurl-contact-hero-panel ul,
.keepurl-contact-next-steps {
	margin: 0;
	padding-left: 18px;
	color: #50575e;
}

.keepurl-contact-layout {
	display: grid;
	grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
	gap: 16px;
	align-items: start;
}

.keepurl-contact-info,
.keepurl-contact-card {
	display: grid;
	gap: 12px;
	padding: 20px;
	border: 1px solid #dcdcde;
	border-radius: 16px;
	background: #fff;
	box-shadow: 0 10px 24px rgba(21, 26, 42, 0.05);
}

.keepurl-contact-info h2,
.keepurl-contact-card h2 {
	margin: 0;
	font-size: 1.1rem;
}

.keepurl-contact-note {
	margin: 0;
	padding: 12px 14px;
	border-left: 3px solid #00a32a;
	border-radius: 8px;
	background: #f3fbf4;
	color: #3c434a;
}

.keepurl-form-message {
	padding: 12px 14px;
	border-radius: 10px;
}

.keepurl-form-message.is-success {
	border: 1px solid #7ad03a;
	background: #f3fbf4;
	color: #1f5132;
}

.keepurl-form-message.is-error {
	border: 1px solid #d63638;
	background: #fcf0f1;
	color: #8a2424;
}

.keepurl-form-message ul {
	margin: 0;
	padding-left: 18px;
}

.keepurl-contact-form {
	display: grid;
	gap: 14px;
}

.keepurl-form-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.keepurl-contact-form .keepurl-form-row {
	gap: 6px;
}

.keepurl-contact-form .keepurl-form-input {
	border-radius: 8px;
}

.keepurl-contact-message {
	min-height: 140px;
	resize: vertical;
}

.keepurl-contact-honeypot {
	position: absolute;
	left: -9999px;
	top: auto;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.keepurl-contact-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.keepurl-url-display {
	display: block;
	flex: 1 1 auto;
	padding: 9px 10px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #f6f7f7;
	overflow-wrap: anywhere;
}

.keepurl-start-guide-url-section {
	gap: 12px;
}

.keepurl-start-guide-url-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.keepurl-start-guide-url-row .keepurl-url-display {
	margin: 0;
	min-width: 0;
}

.keepurl-start-page-copy-button {
	flex: 0 0 auto;
}

.keepurl-panicroom-public-page > .keepurl-panicroom {
	width: 100% !important;
	max-width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

.keepurl-login-required {
	box-sizing: border-box;
	width: min(100%, 720px);
	margin: 48px auto;
	padding: 24px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #fff;
	color: #1d2327;
	text-align: center;
}

.keepurl-login-required p {
	margin: 0 0 12px;
}

.keepurl-login-required p:last-child {
	margin-bottom: 0;
}

.keepurl-auth-links {
	display: flex;
	justify-content: center;
	gap: 12px;
}

.keepurl-auth-links a,
.keepurl-auth-source a,
.keepurl-header-auth-target a {
	color: #2271b1;
	text-decoration: none;
	white-space: nowrap;
}

.keepurl-auth-links a:hover,
.keepurl-auth-source a:hover,
.keepurl-header-auth-target a:hover {
	text-decoration: underline;
}

.keepurl-header-auth-target {
	margin-left: auto;
	font-size: 0.95rem;
}

.keepurl-site-title-actions {
	display: inline-flex;
	align-items: center;
	flex: 0 1 auto;
	gap: 10px;
	width: auto;
	min-width: 0;
}

.keepurl-site-title-actions .wp-block-site-title {
	margin: 0;
	min-width: 0;
}

.keepurl-dashboard {
	box-sizing: border-box;
	--keepurl-card-columns: 3;
	width: min(1200px, calc(100vw - 48px)) !important;
	max-width: 1200px !important;
	margin: 0 auto 48px !important;
	margin-top: 0 !important;
	transform: none !important;
	padding: 12px 24px 24px !important;
	color: #1d2327;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.keepurl-dashboard *,
.keepurl-dashboard *::before,
.keepurl-dashboard *::after {
	box-sizing: inherit;
}

.keepurl-header {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 10px;
	width: 100%;
	margin-bottom: 10px;
}

.keepurl-public-page .keepurl-public-header {
	justify-content: space-between;
	text-align: left;
}

.keepurl-public-page .keepurl-public-brand {
	margin-right: auto;
}

.keepurl-dashboard .keepurl-header {
	width: 100%;
}

.keepurl-app-header {
	justify-content: flex-start;
	padding-bottom: 10px;
	border-bottom: 1px solid #dcdcde;
	min-width: 0;
}

.keepurl-ad-slot {
	width: 100%;
	max-width: 100%;
	margin: 16px 0;
	overflow: hidden;
}

.keepurl-ad-slot iframe,
.keepurl-ad-slot img,
.keepurl-ad-slot ins {
	max-width: 100%;
}

.keepurl-ad-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 64px;
	padding: 14px;
	border: 1px dashed #c7d2da;
	border-radius: 10px;
	background: #f7f9fa;
	color: #69757d;
	font-size: 0.82rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.keepurl-ad-slot-bottom {
	margin-top: 22px;
}

.keepurl-app-brand {
	flex: 0 0 auto;
	min-width: 0;
	color: #1d2327;
	font-size: 1.05rem;
	font-weight: 700;
	text-decoration: none;
	white-space: nowrap;
}

.keepurl-app-brand-logo {
	display: block;
	width: auto;
	height: 40px;
	object-fit: contain;
}

.keepurl-app-brand-text {
	display: inline-flex;
	align-items: center;
	min-height: 40px;
}

.keepurl-app-brand:hover,
.keepurl-app-brand:focus {
	color: #135e96;
	text-decoration: none;
}

.keepurl-workspace-switcher {
	display: inline-flex;
	flex: 1 1 220px;
	align-items: center;
	gap: 6px;
	min-width: 0;
	max-width: 280px;
	margin: 0;
	font-size: 0.86rem;
	white-space: nowrap;
}

.keepurl-workspace-switcher label {
	flex: 0 0 auto;
	color: #50575e;
	font-weight: 600;
}

.keepurl-workspace-switcher .keepurl-form-input {
	flex: 1 1 auto;
	min-width: 120px;
	max-width: 100%;
	height: 36px;
	padding: 6px 28px 6px 8px;
	font-size: 0.86rem;
}

.keepurl-current-workspace-indicator {
	flex: 0 0 auto;
	max-width: 180px;
	overflow: hidden;
	color: #50575e;
	font-size: 0.82rem;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.keepurl-workspace-settings-button {
	flex: 0 0 auto;
	white-space: nowrap;
}

.keepurl-app-header .keepurl-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	height: 40px;
	padding: 8px 14px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	color: #1d2327;
	font-family: inherit;
	font-size: 0.95rem;
	font-weight: 400;
	line-height: 1.2;
	text-decoration: none;
	vertical-align: middle;
}

.keepurl-workspace-members-modal .keepurl-share-modal__panel {
	max-width: 720px;
	overflow-x: hidden;
}

.keepurl-workspace-create-panel {
	display: grid;
	gap: 8px;
	padding: 14px;
	margin: 0 0 18px;
	border: 1px solid #dcdcde;
	border-radius: 12px;
	background: #f6f7f7;
}

.keepurl-workspace-create-panel h3 {
	margin: 0;
	font-size: 1rem;
	line-height: 1.3;
	color: #1d2327;
}

.keepurl-workspace-create-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: end;
	gap: 10px;
	margin: 4px 0 0;
}

.keepurl-workspace-create-field {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.keepurl-workspace-create-form input[type="text"] {
	width: 100%;
	min-width: 0;
}

.keepurl-workspace-limit-note {
	margin: 0;
	color: #646970;
}

.keepurl-workspace-invite-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 160px auto;
	align-items: end;
	gap: 10px;
	margin-bottom: 16px;
}

.keepurl-workspace-invite-email-field {
	grid-column: 1 / -1;
}

.keepurl-workspace-invite-email-field,
.keepurl-workspace-invite-role-field {
	display: grid;
	gap: 4px;
	min-width: 0;
}

.keepurl-workspace-invite-form .keepurl-form-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	margin: 0;
	min-width: 0;
}

.keepurl-workspace-invite-form input[type="email"] {
	width: 100%;
	min-width: 0;
}

.keepurl-workspace-invite-role-field select {
	min-width: 0;
}

[data-keepurl-workspace-members-status] {
	white-space: pre-line;
}

.keepurl-workspace-settings-summary {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 8px 0 14px;
}

.keepurl-workspace-detail-row {
	display: flex;
	flex-wrap: nowrap;
	gap: 8px;
	align-items: baseline;
	font-size: 0.92rem;
	line-height: 1.35;
}

.keepurl-workspace-detail-row strong {
	flex: 0 0 120px;
	color: #1d2327;
	font-weight: 600;
}

.keepurl-workspace-detail-row span {
	flex: 1 1 auto;
	min-width: 140px;
	color: #50575e;
	overflow-wrap: anywhere;
}

.keepurl-workspace-member-row {
	grid-template-columns: minmax(130px, 1fr) minmax(180px, 1.3fr) minmax(120px, 150px) auto;
	align-items: center;
}

.keepurl-workspace-invitation-row {
	grid-template-columns: minmax(0, 1fr) 160px auto;
	align-items: center;
}

.keepurl-workspace-member-email {
	min-width: 0;
	overflow: hidden;
	color: #646970;
	font-size: 0.82rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.keepurl-workspace-member-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	min-width: 0;
}

.keepurl-workspace-role-select {
	width: 100%;
	min-width: 0;
	height: 34px;
	padding: 4px 28px 4px 8px;
	font-size: 0.88rem;
}

.keepurl-workspace-manage-link {
	display: inline-flex;
	margin-top: 8px;
	text-decoration: none;
}

.keepurl-share-role-label {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	color: #50575e;
	font-weight: 600;
}

.keepurl-workspace-member-row .keepurl-share-role-label {
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
}

.keepurl-workspace-protected-note {
	display: inline-flex;
	align-items: center;
	color: #646970;
	font-size: 0.82rem;
}

.keepurl-header-controls-moved {
	display: none;
}

.keepurl-auth-source {
	position: static !important;
	flex: 0 0 auto;
	display: inline-flex;
	align-items: center;
	gap: 10px;
	margin-left: auto;
	font-size: 0.95rem;
	text-align: right;
	white-space: nowrap;
}

.keepurl-toolbar {
	display: flex;
	flex-wrap: wrap;
	width: 100% !important;
	max-width: 100% !important;
	gap: 12px;
	align-items: flex-end;
	margin-bottom: 18px;
	padding: 14px;
	border: 1px solid #dcdcde;
	background: #f6f7f7;
}

.keepurl-demo-toolbar {
	align-items: center;
}

.keepurl-demo-message {
	margin: 0;
	font-size: 1rem;
	font-weight: 600;
	color: #1d2327;
}

.keepurl-search-label {
	flex-basis: 100%;
	font-weight: 600;
}

.keepurl-search {
	flex: 1 1 260px;
	min-height: 40px;
	padding: 8px 10px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
}

.keepurl-search-shell {
	position: relative;
	margin-bottom: 14px;
}

.keepurl-search-control {
	display: flex;
	align-items: center;
	gap: 6px;
}

.keepurl-search-control .keepurl-search {
	width: 100%;
}

.keepurl-clear-search {
	flex: 0 0 auto;
}

.keepurl-search-results {
	position: absolute;
	z-index: 20;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	max-height: min(70vh, 520px);
	overflow: auto;
	padding: 10px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.keepurl-search-group + .keepurl-search-group {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #dcdcde;
}

.keepurl-search-group-title {
	margin: 0 0 6px;
	color: #646970;
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
}

.keepurl-search-highlight {
	animation: keepurl-search-highlight 1.8s ease;
}

@keyframes keepurl-search-highlight {
	0% {
		box-shadow: 0 0 0 3px rgba(34, 113, 177, 0.35);
	}
	100% {
		box-shadow: none;
	}
}

.keepurl-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 40px;
	padding: 8px 14px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	font-family: inherit;
	font-size: 0.95rem;
	line-height: 1.2;
	text-decoration: none;
	vertical-align: middle;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease, box-shadow 0.12s ease;
}

.keepurl-button:hover,
.keepurl-small-button:hover {
	background: #f6f7f7;
}

.keepurl-button:disabled,
.keepurl-search:disabled {
	cursor: not-allowed;
	opacity: 0.65;
}

.keepurl-button.keepurl-billing-option-disabled {
	background: #f6f7f7;
	border-color: #dcdcde;
	color: #646970;
	cursor: default;
}

.keepurl-button.keepurl-billing-option-disabled.is-current {
	border-color: #2271b1;
	background: #f0f6fc;
	color: #135e96;
	font-weight: 600;
}

.keepurl-add-category-toggle {
	flex: 0 0 auto;
	width: auto;
	min-height: 34px;
	padding: 6px 11px;
	font-weight: 600;
	white-space: nowrap;
}

.keepurl-header-category-toggle {
	flex: 0 0 auto;
	margin-left: 0;
	min-height: 32px;
	padding: 5px 10px;
	font-size: 0.85rem;
	line-height: 1.2;
}

.keepurl-category-form,
.keepurl-link-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(120px, 180px) auto;
	gap: 12px;
	align-items: end;
	margin-bottom: 16px;
	padding: 12px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
}

.keepurl-category-form[hidden],
.keepurl-link-form[hidden] {
	display: none;
}

.keepurl-form-row {
	display: grid;
	gap: 4px;
	position: relative;
}

.keepurl-form-label {
	font-weight: 600;
}

.keepurl-form-input {
	min-height: 40px;
	width: 100%;
	padding: 8px 10px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	font-family: inherit;
	font-size: 0.95rem;
	line-height: 1.35;
}

.keepurl-color-picker {
	width: 64px;
	min-height: 40px;
	padding: 2px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	cursor: pointer;
}

.keepurl-color-hex-input {
	display: none;
}

.keepurl-category-suggestions {
	position: absolute;
	top: calc(100% + 6px);
	left: 0;
	right: 0;
	z-index: 50;
	display: grid;
	gap: 4px;
	padding: 6px;
	max-height: 220px;
	overflow-y: auto;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.12);
}

.keepurl-category-suggestions[hidden] {
	display: none;
}

.keepurl-category-suggestion {
	display: block;
	width: 100%;
	padding: 9px 12px;
	border: 0;
	border-radius: 3px;
	background: #fff;
	color: #1d2327;
	text-align: left;
	cursor: pointer;
}

.keepurl-category-request-button {
	display: block;
	width: 100%;
	padding: 9px 12px;
	border: 1px solid #2271b1;
	border-radius: 4px;
	background: #fff;
	color: #2271b1;
	text-align: left;
	cursor: pointer;
}

.keepurl-category-suggestion:hover,
.keepurl-category-suggestion:focus,
.keepurl-category-request-button:hover,
.keepurl-category-request-button:focus {
	background: #f6f7f7;
}

.keepurl-category-suggestion-message {
	padding: 6px 8px;
	color: #646970;
	font-size: 0.85rem;
}

.keepurl-form-row-wide {
	grid-column: 1 / -1;
}

.keepurl-form-textarea {
	min-height: 80px;
	resize: vertical;
}

.keepurl-form-actions {
	display: flex;
	gap: 8px;
}

.keepurl-form-note {
	grid-column: 1 / -1;
	margin: 0;
	font-size: 0.85rem;
	color: #646970;
}

.keepurl-signup-save-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	text-decoration: none;
}

.keepurl-public-cta {
	display: grid;
	gap: 12px;
	justify-items: center;
	margin-bottom: 16px;
	padding: 20px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #fff;
	text-align: center;
}

.keepurl-public-cta-title {
	max-width: 760px;
	margin: 0;
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.2;
	min-width: 0;
}

.keepurl-public-cta-description {
	max-width: 720px;
	margin: 0;
	color: #50575e;
	font-size: 0.98rem;
	line-height: 1.5;
}

.keepurl-public-feature-list {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
	margin: 2px 0 0;
	padding: 0;
	list-style: none;
}

.keepurl-public-feature-list li {
	padding: 5px 9px;
	border: 1px solid #dcdcde;
	border-radius: 999px;
	background: #f6f7f7;
	color: #3c434a;
	font-size: 0.82rem;
	line-height: 1.3;
}

.keepurl-public-cta-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center;
}

.keepurl-upgrade-helper-note {
	margin: 8px 0 0;
	font-size: 0.84rem;
	line-height: 1.45;
}

.keepurl-button-billing-status {
	flex: 1 0 100%;
	margin: 2px 0 0;
	color: #b42318;
	font-size: 0.84rem;
	font-weight: 700;
	line-height: 1.35;
	text-align: center;
}

.keepurl-public-primary-cta {
	border-color: #2271b1;
	background: #2271b1;
	color: #fff;
}

.keepurl-public-primary-cta:hover,
.keepurl-public-primary-cta:focus {
	border-color: #135e96;
	background: #135e96;
	color: #fff;
}

.keepurl-workspace {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 320px;
	gap: 16px;
	align-items: start;
	min-width: 0;
}

.keepurl-update-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	width: 100%;
	max-width: 100%;
	padding: 9px 10px;
	border: 1px solid #d63638;
	border-radius: 4px;
	background: #fcf0f1;
	color: #8a2424;
	font-size: 0.9rem;
	line-height: 1.35;
	box-sizing: border-box;
}

.keepurl-update-notice[hidden] {
	display: none !important;
}

.keepurl-update-notice .keepurl-small-button {
	flex: 0 0 auto;
	border-color: #b32d2e;
	color: #8a2424;
	background: #fff;
}

.keepurl-starter-board-notice {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin: 12px 0;
	padding: 12px 14px;
	border: 1px solid #c3d9ed;
	border-radius: 6px;
	background: #f0f6fc;
	color: #1d2327;
	box-sizing: border-box;
}

.keepurl-starter-board-notice p {
	margin: 0;
}

.keepurl-starter-board-notice[hidden] {
	display: none !important;
}

.keepurl-starter-board-notice .keepurl-small-button {
	flex: 0 0 auto;
}

.keepurl-dashboard .keepurl-storage-refresh {
	border-color: #dc2626;
	color: #991b1b;
	background: #fff;
}

.keepurl-dashboard .keepurl-storage-refresh:hover,
.keepurl-dashboard .keepurl-storage-refresh:focus {
	border-color: #b91c1c;
	color: #7f1d1d;
	background: #fff;
}

.keepurl-storage-toggle.has-updates {
	border-color: #d63638 !important;
	background: #fcf0f1 !important;
	color: #8a2424 !important;
	box-shadow: inset 0 0 0 1px #d63638;
}

.keepurl-storage-toggle.has-updates::after {
	content: "";
	position: absolute;
	top: 4px;
	right: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #d63638;
	box-shadow: 0 0 0 2px #fff;
}

.keepurl-storage-toggle.has-updates::before {
	color: #8a2424 !important;
}

.keepurl-workspace > .keepurl-update-notice {
	grid-column: 1 / -1;
}

.keepurl-board {
	display: grid !important;
	width: 100% !important;
	max-width: 100% !important;
	grid-template-columns: repeat(var(--keepurl-card-columns), minmax(0, 1fr)) !important;
	gap: 16px !important;
	min-height: 160px;
	min-width: 0;
}

.keepurl-workspace .keepurl-board {
	grid-template-columns: repeat(var(--keepurl-card-columns), minmax(0, 1fr)) !important;
}

.keepurl-memo-right .keepurl-workspace {
	grid-template-columns: minmax(0, 1fr) 320px;
}

.keepurl-memo-left .keepurl-workspace {
	grid-template-columns: 320px minmax(0, 1fr);
}

.keepurl-memo-left .keepurl-memo-panel {
	order: 0;
}

.keepurl-memo-left .keepurl-board {
	order: 1;
}

.keepurl-memo-top .keepurl-workspace,
.keepurl-memo-bottom .keepurl-workspace {
	grid-template-columns: 1fr;
}

.keepurl-memo-top .keepurl-memo-panel {
	order: 0;
}

.keepurl-memo-top .keepurl-board {
	order: 1;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.keepurl-memo-bottom .keepurl-board {
	order: 0;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.keepurl-memo-bottom .keepurl-memo-panel {
	order: 1;
}

.keepurl-public-demo .keepurl-demo-board {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.keepurl-memo-panel {
	padding: 12px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
	min-width: 0;
}

.keepurl-memo-title {
	margin: 0;
	font-size: 1rem;
	line-height: 1.3;
}

.keepurl-memo-header {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 6px;
	flex-wrap: wrap;
	margin-bottom: 10px;
	min-width: 0;
}

.keepurl-memo-panel > .keepurl-update-notice,
.keepurl-memo-checklist > .keepurl-update-notice,
.keepurl-storage-panel > .keepurl-update-notice {
	margin-bottom: 10px;
}

.keepurl-memo-header-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	flex: 0 1 auto;
	flex-wrap: wrap;
	gap: 6px;
	min-width: 0;
}

.keepurl-memo-header-actions [data-keepurl-memo-share-open] {
	order: 1;
}

.keepurl-memo-header-actions .keepurl-memo-position-label {
	order: 2;
}

.keepurl-memo-header-actions [data-keepurl-create-memo] {
	order: 3;
}

.keepurl-memo-header-actions [data-keepurl-rename-memo] {
	order: 4;
}

.keepurl-memo-header-actions [data-keepurl-delete-memo] {
	order: 5;
}

.keepurl-memo-header-actions .keepurl-memo-selector-label {
	order: 6;
}

.keepurl-memo-header-actions .keepurl-memo-access-label {
	order: 7;
}

.keepurl-memo-selector-label {
	display: inline-flex;
	align-items: center;
	flex: 1 1 130px;
	gap: 6px;
	min-width: 0;
	color: #646970;
	font-size: 0.78rem;
}

.keepurl-memo-selector-label[hidden] {
	display: none !important;
}

.keepurl-memo-selector {
	width: 100%;
	max-width: 180px;
	min-height: 30px;
	padding: 3px 24px 3px 8px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	font-size: 0.78rem;
}

.keepurl-memo-access-label {
	display: inline-block;
	padding: 2px 6px;
	border: 1px solid #dcdcde;
	border-radius: 999px;
	background: #f6f7f7;
	color: #646970;
	font-size: 0.72rem;
	line-height: 1.4;
	white-space: nowrap;
}

.keepurl-memo-access-label[hidden],
.keepurl-memo-access-label:empty {
	display: none !important;
	padding: 0;
	border: 0;
}

.keepurl-memo-position-label {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	gap: 0;
	color: #646970;
	font-size: 0.78rem;
}

.keepurl-memo-position-label > span {
	display: none;
}

.keepurl-memo-position-select {
	width: 76px;
	min-height: 30px;
	padding: 3px 18px 3px 6px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	font-size: 0.78rem;
}

.keepurl-memo-editor {
	display: block;
	max-width: 100%;
	min-width: 0;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #fff;
	overflow: hidden;
}

.keepurl-memo-toolbar {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 4px;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	padding: 4px;
	border-bottom: 1px solid #dcdcde;
	background: #f6f7f7;
	box-sizing: border-box;
	overflow-x: auto;
	overflow-y: hidden;
	white-space: nowrap;
}

.keepurl-memo-toolbar[hidden] {
	display: none;
}

.keepurl-memo-size-label {
	display: inline-flex;
	align-items: center;
	flex: 0 0 auto;
	min-width: 0;
	margin-right: 0;
}

.keepurl-memo-size-select {
	flex: 0 0 auto;
	width: 58px;
	min-width: 58px;
	min-height: 26px;
	padding: 2px 16px 2px 4px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #fff;
	font: inherit;
	font-size: 13px;
	line-height: 1;
	box-sizing: border-box;
}

.keepurl-memo-toolbar-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	min-width: auto;
	min-height: 26px;
	padding: 4px 7px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	font: inherit;
	font-size: 13px;
	font-weight: 600;
	line-height: 1;
	cursor: pointer;
	box-sizing: border-box;
	white-space: nowrap;
}

.keepurl-memo-toolbar-button:hover,
.keepurl-memo-toolbar-button:focus {
	border-color: #2271b1;
	color: #0a4b78;
	outline: none;
	box-shadow: 0 0 0 1px #2271b1;
}

.keepurl-memo-toolbar-button:disabled {
	cursor: not-allowed;
	opacity: 0.55;
}

.keepurl-memo-size-select:focus,
.keepurl-memo-toolbar-button:focus {
	border-color: #2271b1;
	color: #0a4b78;
	outline: none;
	box-shadow: 0 0 0 1px #2271b1;
}

.keepurl-memo-toolbar-underline {
	text-decoration: underline;
}

.keepurl-memo-content {
	display: block;
	width: 100%;
	max-width: 100%;
	min-width: 0;
	height: 300px;
	min-height: 220px;
	max-height: 600px;
	padding: 8px;
	overflow: auto;
	resize: vertical;
	font: inherit;
	font-size: 12px;
	line-height: 1.45;
	outline: none;
	white-space: normal;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.keepurl-memo-content[contenteditable="true"]:focus {
	box-shadow: inset 0 0 0 1px #2271b1;
}

.keepurl-memo-content[contenteditable="false"] {
	background: #f6f7f7;
}

.keepurl-memo-content a {
	color: #2271b1;
	text-decoration: underline;
	cursor: pointer;
}

.keepurl-memo-content a:hover,
.keepurl-memo-content a:focus {
	color: #135e96;
	text-decoration: underline;
}

.keepurl-memo-content p,
.keepurl-memo-content ul,
.keepurl-memo-content ol,
.keepurl-memo-content blockquote,
.keepurl-memo-content table {
	margin: 0 0 8px;
}

.keepurl-memo-content p:last-child,
.keepurl-memo-content ul:last-child,
.keepurl-memo-content ol:last-child,
.keepurl-memo-content blockquote:last-child,
.keepurl-memo-content table:last-child {
	margin-bottom: 0;
}

.keepurl-memo-content ul,
.keepurl-memo-content ol {
	padding-left: 22px;
}

.keepurl-memo-content blockquote {
	padding-left: 10px;
	border-left: 3px solid #c3c4c7;
	color: #50575e;
}

.keepurl-memo-content .keepurl-memo-text-small {
	font-size: 0.88em;
}

.keepurl-memo-content .keepurl-memo-text-normal {
	font-size: 1em;
}

.keepurl-memo-content .keepurl-memo-text-large {
	font-size: 1.15em;
}

.keepurl-memo-content .keepurl-memo-text-xlarge {
	font-size: 1.3em;
}

.keepurl-memo-content table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.keepurl-memo-content th,
.keepurl-memo-content td {
	min-width: 48px;
	padding: 5px 6px;
	border: 1px solid #c3c4c7;
	vertical-align: top;
}

.keepurl-memo-checklist {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #dcdcde;
}

.keepurl-memo-checklist-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 8px;
}

.keepurl-memo-checklist-header h3 {
	margin: 0;
	font-size: 0.9rem;
	line-height: 1.25;
}

.keepurl-memo-checklist-filters {
	display: flex;
	align-items: center;
	gap: 4px;
	flex-wrap: wrap;
}

.keepurl-memo-checklist-filters .keepurl-small-button.is-active {
	border-color: #2271b1;
	background: #f0f6fc;
	color: #0a4b78;
}

.keepurl-memo-checklist-form {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	gap: 6px;
	margin-bottom: 8px;
}

.keepurl-memo-checklist-list {
	display: flex;
	flex-direction: column;
	gap: 4px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.keepurl-memo-checklist-item {
	display: grid;
	grid-template-columns: 16px 18px minmax(0, 1fr) minmax(92px, auto) minmax(135px, auto) auto auto auto auto;
	align-items: center;
	gap: 6px;
	min-height: 26px;
}

.keepurl-memo-checklist-item.is-readonly {
	grid-template-columns: 18px minmax(0, 1fr) minmax(82px, auto) minmax(110px, auto) auto auto;
	align-items: start;
}

.keepurl-memo-checklist-item .keepurl-memo-checklist-handle[hidden],
.keepurl-memo-checklist-item .keepurl-icon-button[hidden] {
	display: none !important;
}

.keepurl-memo-checklist-handle {
	color: #646970;
	cursor: grab;
	font-size: 0.78rem;
	line-height: 1;
	user-select: none;
}

.keepurl-memo-checklist-handle:active {
	cursor: grabbing;
}

.keepurl-memo-checklist-text {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.82rem;
	line-height: 1.25;
}

.keepurl-memo-checklist-item.is-readonly .keepurl-memo-checklist-text {
	overflow: visible;
	text-overflow: clip;
	white-space: normal;
	overflow-wrap: anywhere;
}

.keepurl-memo-checklist-assignee-select {
	max-width: 130px;
	min-height: 24px;
	padding: 2px 20px 2px 5px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	font-size: 0.72rem;
}

.keepurl-memo-checklist-assignee-text {
	display: inline-block;
	max-width: 120px;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #646970;
	font-size: 0.72rem;
	line-height: 1.35;
	white-space: nowrap;
}

.keepurl-memo-checklist-due-date-control {
	display: flex;
	align-items: center;
	gap: 3px;
	min-width: 0;
}

.keepurl-memo-checklist-due-date-trigger {
	flex: 1 1 128px;
	max-width: 150px;
	min-height: 24px;
	padding: 2px 5px;
	border: 1px solid #8c8f94;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	font-size: 0.72rem;
	line-height: 1.35;
	text-align: left;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
}

.keepurl-memo-checklist-due-date-trigger:hover,
.keepurl-memo-checklist-due-date-trigger:focus {
	border-color: #2271b1;
	background: #f0f6fc;
	color: #135e96;
}

.keepurl-memo-checklist-due-date-text {
	display: inline-block;
	max-width: 130px;
	overflow: hidden;
	text-overflow: ellipsis;
	color: #646970;
	font-size: 0.72rem;
	line-height: 1.35;
	white-space: nowrap;
}

.keepurl-memo-checklist-due-status {
	display: inline-block;
	padding: 1px 5px;
	border: 1px solid #dcdcde;
	border-radius: 999px;
	background: #f6f7f7;
	color: #646970;
	font-size: 0.68rem;
	line-height: 1.35;
	white-space: nowrap;
}

.keepurl-memo-checklist-due-status[hidden],
.keepurl-memo-checklist-due-status:empty {
	display: none !important;
}

.keepurl-memo-checklist-due-status.is-today {
	border-color: #72aee6;
	background: #f0f6fc;
	color: #135e96;
}

.keepurl-memo-checklist-due-status.is-overdue {
	border-color: #dba617;
	background: #fcf9e8;
	color: #614200;
}

.keepurl-memo-due-date-picker-input.is-flatpickr-source {
	position: absolute;
	width: 1px;
	height: 1px;
	min-height: 0;
	padding: 0;
	border: 0;
	opacity: 0;
	pointer-events: none;
}

.flatpickr-calendar .keepurl-memo-due-date-picker-actions {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
	padding: 8px;
	border-top: 1px solid #dcdcde;
}

.keepurl-memo-due-date-picker-done {
	border-color: #2271b1;
	color: #135e96;
}

.keepurl-memo-left .keepurl-memo-checklist-item,
.keepurl-memo-right .keepurl-memo-checklist-item {
	grid-template-columns: 16px 18px minmax(0, 1fr) auto auto auto;
	align-items: center;
}

.keepurl-memo-left .keepurl-memo-checklist-item.is-readonly,
.keepurl-memo-right .keepurl-memo-checklist-item.is-readonly {
	grid-template-columns: 18px minmax(0, 1fr) auto;
}

.keepurl-memo-left .keepurl-memo-checklist-assignee-select,
.keepurl-memo-right .keepurl-memo-checklist-assignee-select {
	grid-column: 3 / -1;
	grid-row: 2;
	max-width: 100%;
}

.keepurl-memo-left .keepurl-memo-checklist-assignee-text,
.keepurl-memo-right .keepurl-memo-checklist-assignee-text {
	grid-column: 2;
	grid-row: 2;
	max-width: 100%;
}

.keepurl-memo-left .keepurl-memo-checklist-due-date-control,
.keepurl-memo-left .keepurl-memo-checklist-due-status,
.keepurl-memo-right .keepurl-memo-checklist-due-date-control,
.keepurl-memo-right .keepurl-memo-checklist-due-status {
	grid-column: 3 / -1;
	max-width: 100%;
}

.keepurl-memo-left .keepurl-memo-checklist-due-date-control,
.keepurl-memo-right .keepurl-memo-checklist-due-date-control {
	grid-row: 3;
	flex-wrap: wrap;
}

.keepurl-memo-left .keepurl-memo-checklist-due-status,
.keepurl-memo-right .keepurl-memo-checklist-due-status {
	grid-row: 4;
	justify-self: start;
}

.keepurl-memo-left .keepurl-memo-checklist-due-date-text,
.keepurl-memo-left .keepurl-memo-checklist-item.is-readonly .keepurl-memo-checklist-due-status,
.keepurl-memo-right .keepurl-memo-checklist-due-date-text,
.keepurl-memo-right .keepurl-memo-checklist-item.is-readonly .keepurl-memo-checklist-due-status {
	grid-column: 2;
	max-width: 100%;
}

.keepurl-memo-left .keepurl-memo-checklist-due-date-text,
.keepurl-memo-right .keepurl-memo-checklist-due-date-text {
	grid-row: 3;
}

.keepurl-memo-left .keepurl-memo-checklist-item.is-readonly .keepurl-memo-checklist-due-status,
.keepurl-memo-right .keepurl-memo-checklist-item.is-readonly .keepurl-memo-checklist-due-status {
	grid-row: 4;
	justify-self: start;
}

.keepurl-memo-left .keepurl-edit-checklist-item-button,
.keepurl-memo-right .keepurl-edit-checklist-item-button {
	grid-column: 4;
	grid-row: 1;
}

.keepurl-memo-left .keepurl-delete-checklist-item-button,
.keepurl-memo-right .keepurl-delete-checklist-item-button {
	grid-column: 5;
	grid-row: 1;
}

.keepurl-memo-left .keepurl-attach-file-button,
.keepurl-memo-right .keepurl-attach-file-button {
	grid-column: 6;
	grid-row: 1;
}

.keepurl-memo-left .keepurl-memo-checklist-item.is-readonly .keepurl-attach-file-button,
.keepurl-memo-right .keepurl-memo-checklist-item.is-readonly .keepurl-attach-file-button {
	grid-column: 3;
	grid-row: 1;
}

.keepurl-memo-checklist-item.is-completed .keepurl-memo-checklist-text {
	color: #646970;
	text-decoration: line-through;
}

.keepurl-memo-checklist-empty {
	margin: 6px 0 0;
}

.keepurl-attachments {
	display: grid;
	gap: 6px;
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #dcdcde;
}

.keepurl-attachments-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.keepurl-attachments-header h3,
.keepurl-attachment-existing h3 {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.25;
}

.keepurl-attachment-list,
.keepurl-attachment-picker-files {
	display: grid;
	gap: 6px;
	min-width: 0;
	color: #646970;
	font-size: 0.78rem;
}

.keepurl-attachment-row,
.keepurl-attachment-picker-row {
	display: grid;
	align-items: center;
	gap: 8px;
	padding: 6px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
}

.keepurl-attachment-row {
	grid-template-columns: minmax(0, 1fr) auto;
}

.keepurl-attachment-picker-row {
	grid-template-columns: auto minmax(0, 1fr) auto;
}

.keepurl-attachment-info {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.keepurl-attachment-info strong,
.keepurl-attachment-info span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.keepurl-attachment-info strong {
	color: #1d2327;
	font-size: 0.8rem;
	line-height: 1.25;
}

.keepurl-attachment-actions {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	white-space: nowrap;
}

.keepurl-attachment-picker {
	display: grid;
	gap: 10px;
}

.keepurl-memo-activity {
	margin-top: 10px;
	padding-top: 10px;
	border-top: 1px solid #dcdcde;
}

.keepurl-memo-activity[hidden] {
	display: none !important;
}

.keepurl-memo-activity-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
	margin-bottom: 6px;
}

.keepurl-memo-activity-header h4 {
	margin: 0;
	font-size: 0.82rem;
	line-height: 1.25;
}

.keepurl-memo-activity-list {
	display: flex;
	flex-direction: column;
	gap: 6px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.keepurl-memo-activity-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: start;
	gap: 8px;
	padding: 6px 0;
	border-bottom: 1px solid #f0f0f1;
	font-size: 0.76rem;
	line-height: 1.35;
}

.keepurl-memo-activity-message {
	min-width: 0;
	overflow-wrap: anywhere;
}

.keepurl-memo-activity-time {
	color: #646970;
	white-space: nowrap;
}

.keepurl-memo-activity-empty {
	margin: 6px 0 0;
}

.keepurl-memo-actions {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
	margin-top: 10px;
}

.keepurl-memo-autosave-note {
	font-size: 12px;
	color: #646970;
}

.keepurl-memo-status {
	font-size: 12px;
	color: #646970;
}

.keepurl-memo-counter {
	display: inline-block;
	margin-left: 8px;
	font-size: 12px;
	color: #646970;
}

.keepurl-memo-counter-error {
	color: #b32d2e;
	font-weight: 600;
}

.keepurl-board.keepurl-board-searching {
	grid-template-columns: 1fr;
}

.keepurl-empty-state {
	grid-column: 1 / -1;
	padding: 24px;
	border: 1px dashed #c3c4c7;
	background: #fff;
	text-align: center;
}

.keepurl-empty-state p {
	margin: 0 0 12px;
}

.keepurl-status {
	margin-bottom: 16px;
	color: #50575e;
}

.keepurl-import-export {
	display: grid;
	gap: 12px;
	margin-bottom: 16px;
	padding: 12px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
}

.keepurl-import-export-header h2,
.keepurl-import-export-block h3 {
	margin: 0;
}

.keepurl-import-export-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 12px;
}

.keepurl-import-export-block {
	display: grid;
	align-content: start;
	gap: 8px;
	min-width: 0;
	padding: 10px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #f6f7f7;
}

.keepurl-import-export-block p {
	margin: 0;
	color: #50575e;
}

.keepurl-import-export-block input[type="file"] {
	max-width: 100%;
}

.keepurl-import-export-status {
	min-height: 1.4em;
}

.keepurl-storage {
	display: grid;
	gap: 8px;
	margin-bottom: 16px;
	padding: 0;
	border: 0;
	background: transparent;
}

.keepurl-storage h2,
.keepurl-storage h3 {
	margin: 0;
}

.keepurl-storage-panel[hidden] {
	display: none;
}

.keepurl-storage-panel {
	display: grid;
	gap: 10px;
	padding: 12px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #fff;
}

.keepurl-storage-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	min-width: 0;
}

.keepurl-storage-header h2 {
	flex: 0 0 auto;
	margin: 0;
	font-size: 1.2rem;
	line-height: 1.25;
}

.keepurl-storage-toolbar,
.keepurl-storage-upload {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.keepurl-storage-header .keepurl-storage-toolbar {
	flex: 1 1 auto;
	flex-wrap: nowrap;
	justify-content: flex-end;
}

.keepurl-storage-toolbar .keepurl-form-input {
	flex: 0 1 280px;
	width: min(32vw, 280px);
	min-width: 0;
}

.keepurl-storage-toolbar .keepurl-button {
	flex: 0 0 auto;
}

.keepurl-storage-layout {
	display: grid;
	grid-template-columns: minmax(220px, 0.35fr) minmax(0, 1fr);
	gap: 12px;
}

.keepurl-storage-boxes,
.keepurl-storage-files {
	display: grid;
	align-content: start;
	gap: 10px;
	min-width: 0;
	padding: 10px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #f6f7f7;
}

.keepurl-storage-files-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.keepurl-storage-file-tools {
	display: flex;
	flex: 1 1 auto;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 8px;
	min-width: 0;
}

.keepurl-storage-search-input {
	flex: 1 1 220px;
	max-width: 320px;
	min-width: 160px;
}

.keepurl-storage-view-toggle {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.keepurl-storage-view-toggle .is-active {
	border-color: #dcdcde;
	box-shadow: none;
	background: #fff;
	color: #1d2327;
	font-weight: 500;
}

.keepurl-storage-breadcrumbs {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	min-width: 0;
	font-size: 0.82rem;
}

.keepurl-storage-breadcrumb-button {
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #2271b1;
	font: inherit;
	font-weight: 600;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	cursor: pointer;
}

.keepurl-storage-breadcrumb-button:disabled {
	color: #1d2327;
	cursor: default;
	text-decoration: none;
}

.keepurl-storage-breadcrumb-button:not(:disabled):hover,
.keepurl-storage-breadcrumb-button:not(:disabled):focus {
	text-decoration: underline;
}

.keepurl-storage-breadcrumb-separator {
	color: #8c8f94;
}

.keepurl-storage-folder-list {
	display: grid;
	gap: 8px;
	min-width: 0;
	margin-bottom: 8px;
}

.keepurl-storage-folder-toolbar {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.keepurl-storage-folder-toolbar .keepurl-form-input {
	flex: 1 1 180px;
	min-width: 0;
}

.keepurl-storage-folder-toolbar .keepurl-button {
	flex: 0 0 auto;
}

.keepurl-storage-box-list,
.keepurl-storage-file-list {
	display: grid;
	gap: 8px;
	min-width: 0;
}

.keepurl-storage-file-scroll {
	max-height: 520px;
	overflow-y: auto;
	padding-right: 2px;
}

.keepurl-storage-dropzone {
	display: grid;
	place-items: center;
	flex: 1 1 260px;
	min-height: 96px;
	padding: 14px;
	border: 2px dashed #8c8f94;
	border-radius: 6px;
	background: #fff;
	color: #50575e;
	cursor: pointer;
	text-align: center;
	transition: border-color 0.15s ease, background-color 0.15s ease;
}

.keepurl-storage-dropzone.is-dragover {
	border-color: #2271b1;
	background: #f0f6fc;
	color: #1d2327;
}

.keepurl-storage-dropzone input {
	max-width: 100%;
	margin-top: 8px;
}

.keepurl-storage-box-row,
.keepurl-storage-file-row {
	display: grid;
	gap: 8px;
	min-width: 0;
	padding: 8px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #fff;
}

.keepurl-storage-box-row {
	grid-template-columns: minmax(0, 1fr) auto;
	align-items: center;
}

.keepurl-storage-box-row.is-active {
	border-color: #2271b1;
	box-shadow: inset 3px 0 0 #2271b1;
}

.keepurl-storage-box-info {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.keepurl-storage-box-select {
	display: inline-block;
	min-width: 0;
	padding: 0;
	border: 0;
	background: transparent;
	color: #1d2327;
	font-weight: 600;
	font-size: 0.88rem;
	line-height: 1.25;
	overflow-wrap: anywhere;
	text-align: left;
	cursor: pointer;
}

.keepurl-storage-box-select:hover,
.keepurl-storage-box-select:focus {
	color: #135e96;
	text-decoration: underline;
}

.keepurl-storage-box-meta {
	color: #646970;
	font-size: 0.72rem;
	line-height: 1.3;
	overflow-wrap: anywhere;
}

.keepurl-storage-box-actions {
	display: inline-flex;
	align-items: center;
	justify-content: flex-end;
	gap: 4px;
	min-width: 0;
	white-space: nowrap;
}

.keepurl-storage-file-row {
	grid-template-columns: 32px minmax(0, 1.7fr) minmax(116px, 0.8fr) minmax(58px, 0.45fr) minmax(74px, 0.45fr) auto;
	align-items: center;
	gap: 10px;
}

.keepurl-storage-file-row.keepurl-storage-can-sort {
	grid-template-columns: 20px 32px minmax(0, 1.7fr) minmax(116px, 0.8fr) minmax(58px, 0.45fr) minmax(74px, 0.45fr) auto;
}

.keepurl-storage-search-result-row {
	grid-template-columns: 32px minmax(0, 1.35fr) minmax(0, 1fr) minmax(96px, 0.6fr) minmax(58px, 0.35fr) minmax(74px, 0.35fr) auto;
}

.keepurl-storage-drag-handle {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 28px;
	color: #8c8f94;
	font-size: 0.78rem;
	line-height: 1;
	cursor: grab;
	user-select: none;
}

.keepurl-storage-drag-handle:active {
	cursor: grabbing;
}

.keepurl-storage-folder-drop-target {
	border-color: #2271b1;
	box-shadow: inset 0 0 0 2px rgba(34, 113, 177, 0.3);
}

.keepurl-storage-file-preview {
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #f6f7f7;
	color: #646970;
	font-size: 0.62rem;
	font-weight: 700;
	overflow: hidden;
}

button.keepurl-storage-file-preview {
	padding: 0;
	cursor: pointer;
}

button.keepurl-storage-file-preview:hover,
button.keepurl-storage-file-preview:focus {
	border-color: #2271b1;
	color: #2271b1;
}

.keepurl-storage-folder-preview {
	font-size: 1rem;
}

.keepurl-storage-file-preview img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.keepurl-storage-file-details {
	display: contents;
	min-width: 0;
}

.keepurl-storage-file-details strong,
.keepurl-storage-file-details span {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.keepurl-storage-file-details strong {
	color: #1d2327;
	font-size: 0.82rem;
	font-weight: 600;
	line-height: 1.25;
}

.keepurl-storage-file-details span {
	color: #646970;
	font-size: 0.76rem;
	line-height: 1.25;
}

.keepurl-storage-search-location {
	color: #50575e;
	font-weight: 500;
}

.keepurl-storage-file-actions {
	display: flex;
	flex-wrap: nowrap;
	gap: 6px;
	justify-content: flex-end;
	white-space: nowrap;
}

.keepurl-storage-file-list.is-thumbnail-view {
	grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
	align-items: stretch;
}

.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-row {
	grid-template-columns: 1fr;
	align-content: start;
	gap: 6px;
	padding: 8px;
}

.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-preview {
	width: 100%;
	height: auto;
	aspect-ratio: 1 / 1;
	max-height: 96px;
}

.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-details {
	display: grid;
	gap: 2px;
}

.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-date,
.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-type,
.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-size {
	display: none;
}

.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-actions {
	align-self: end;
	justify-content: center;
	overflow: visible;
}

.keepurl-storage-preview-panel {
	max-width: min(920px, calc(100vw - 32px));
}

.keepurl-storage-preview-body {
	display: grid;
	place-items: center;
	min-height: 180px;
	max-height: 70vh;
	overflow: auto;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #f6f7f7;
}

.keepurl-storage-preview-image {
	display: block;
	max-width: 100%;
	max-height: 68vh;
	object-fit: contain;
}

.keepurl-storage-preview-frame {
	width: 100%;
	min-height: 68vh;
	border: 0;
	background: #fff;
}

.keepurl-storage-preview-text {
	box-sizing: border-box;
	width: 100%;
	min-height: 180px;
	margin: 0;
	padding: 12px;
	overflow: auto;
	background: #fff;
	color: #1d2327;
	font: 0.78rem/1.45 Consolas, Monaco, monospace;
	white-space: pre-wrap;
	word-break: break-word;
}

.keepurl-storage-status {
	min-height: 1.4em;
}

.keepurl-storage-quota {
	display: grid;
	gap: 6px;
	min-height: 0;
}

.keepurl-storage-quota:empty {
	display: none;
}

.keepurl-storage-quota-text {
	color: #50575e;
	font-size: 0.88rem;
}

.keepurl-storage-quota-bar {
	height: 8px;
	overflow: hidden;
	border-radius: 999px;
	background: #dcdcde;
}

.keepurl-storage-quota-bar span {
	display: block;
	width: 0;
	height: 100%;
	border-radius: inherit;
	background: #2271b1;
	transition: width 0.2s ease;
}

.keepurl-storage-quota-bar span.is-warning {
	background: #dba617;
}

.keepurl-start-page-panel {
	display: grid;
	gap: 12px;
	max-width: min(860px, calc(100vw - 32px));
}

.keepurl-start-page-intro {
	margin: 0;
	color: #50575e;
	line-height: 1.45;
}

.keepurl-start-page-url {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	padding: 8px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #f6f7f7;
}

.keepurl-start-page-url span {
	flex: 1 1 auto;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: 0.9rem;
}

.keepurl-start-page-url .keepurl-button {
	flex: 0 0 auto;
	width: auto;
}

.keepurl-start-page-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 10px;
}

.keepurl-start-page-section {
	display: grid;
	align-content: start;
	gap: 8px;
	min-width: 0;
	padding: 10px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
}

.keepurl-start-page-section h3,
.keepurl-start-page-section p,
.keepurl-start-page-section ol {
	margin: 0;
}

.keepurl-start-page-section h3 {
	font-size: 0.95rem;
	line-height: 1.25;
}

.keepurl-start-page-section ol {
	padding-left: 20px;
	color: #50575e;
	font-size: 0.88rem;
	line-height: 1.45;
}

.keepurl-start-page-section p {
	color: #50575e;
	font-size: 0.88rem;
	line-height: 1.45;
}

.keepurl-panicroom {
	box-sizing: border-box;
	width: min(1200px, calc(100vw - 48px)) !important;
	max-width: 1200px !important;
	margin: 0 auto 48px !important;
	padding: 12px 24px 24px !important;
	color: #1d2327;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
	font-size: 16px;
	line-height: 1.5;
	transform: none !important;
}

.keepurl-panicroom *,
.keepurl-panicroom *::before,
.keepurl-panicroom *::after {
	box-sizing: inherit;
}

.keepurl-panicroom-message {
	width: min(720px, calc(100vw - 48px)) !important;
	padding: 24px !important;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #fff;
	text-align: center;
}

.keepurl-panicroom-message p {
	margin: 0 0 16px;
	color: #50575e;
}

.keepurl-panicroom-message .keepurl-panicroom-actions {
	justify-content: center;
	margin: 6px 0 18px;
}

.keepurl-panicroom-message .keepurl-panicroom-actions .keepurl-button {
	min-width: 96px;
}

.keepurl-panicroom-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 18px;
	margin-bottom: 18px;
	padding: 18px 20px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #fff;
}

.keepurl-panicroom-header h1 {
	margin: 0;
	font-size: 1.75rem;
	line-height: 1.2;
	color: #1d2327;
}

.keepurl-panicroom-header p {
	margin: 5px 0 0;
	color: #50575e;
}

.keepurl-panicroom-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(280px, 1fr));
	gap: 16px;
	align-items: start;
}

.keepurl-panicroom-card {
	display: grid;
	align-content: start;
	gap: 14px;
	min-width: 0;
	padding: 18px;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.keepurl-panicroom-card h2 {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.3;
	color: #1d2327;
}

.keepurl-panicroom-info {
	display: grid;
	grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
	gap: 10px 16px;
	margin: 0;
}

.keepurl-panicroom-info dt {
	min-width: 0;
	color: #646970;
	font-weight: 600;
	overflow-wrap: normal;
	word-break: normal;
}

.keepurl-panicroom-info dd {
	min-width: 0;
	margin: 0;
	overflow-wrap: anywhere;
	word-break: normal;
	color: #1d2327;
}

.keepurl-workspace-info dt {
	display: flex;
	align-items: center;
	gap: 6px;
}

.keepurl-workspace-current-badge {
	display: inline-flex;
	align-items: center;
	min-height: 20px;
	padding: 2px 6px;
	border-radius: 999px;
	background: #f0f6fc;
	color: #135e96;
	font-size: 0.72rem;
	font-weight: 600;
	line-height: 1;
	white-space: nowrap;
}

.keepurl-panicroom-info dt.is-over-limit,
.keepurl-panicroom-info dd.is-over-limit {
	color: #8a2424;
}

.keepurl-panicroom-info dd.is-over-limit {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 8px;
}

.keepurl-plan-over-limit-badge {
	display: inline-flex;
	align-items: center;
	border: 1px solid #d63638;
	border-radius: 999px;
	padding: 2px 7px;
	background: #fcf0f1;
	color: #8a2424;
	font-size: 0.72rem;
	font-weight: 700;
	white-space: nowrap;
}

.keepurl-plan-over-limit-warning {
	margin: 12px 0 0;
	border: 1px solid #f0b849;
	border-radius: 6px;
	padding: 10px 12px;
	background: #fff8e5;
	color: #674200;
	font-size: 0.88rem;
	line-height: 1.45;
}

.keepurl-plan-cancellation-notice {
	margin: 12px 0 0;
	border: 1px solid #3b82f6;
	border-radius: 6px;
	padding: 10px 12px;
	background: #eff6ff;
	color: #1e3a8a;
	font-size: 0.88rem;
	line-height: 1.45;
}

.keepurl-panicroom-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.keepurl-panicroom-actions .keepurl-button,
.keepurl-panicroom .keepurl-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	color: #1d2327;
	line-height: 1.2;
	text-decoration: none;
	white-space: nowrap;
}

.keepurl-panicroom-secondary {
	flex: 0 0 auto;
}

.keepurl-panicroom-preference {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
	padding: 9px 10px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #f6f7f7;
	color: #1d2327;
}

.keepurl-panicroom-preference input {
	flex: 0 0 auto;
	margin: 0;
}

.keepurl-panicroom-preference span {
	min-width: 0;
	overflow-wrap: anywhere;
}

.keepurl-panicroom-select-preference {
	justify-content: space-between;
}

.keepurl-panicroom-select-preference .keepurl-form-input {
	flex: 0 1 190px;
	width: auto;
	min-width: 150px;
}

.keepurl-account-panel {
	display: grid;
	gap: 12px;
	margin-bottom: 16px;
	padding: 12px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
}

.keepurl-account-panel[hidden] {
	display: none;
}

.keepurl-placeholder {
	margin: 0;
	padding: 20px;
	border: 1px dashed currentColor;
}

.keepurl-category-card {
	inline-size: 100%;
	display: flex;
	flex-direction: column;
	min-width: 0;
	max-height: 430px;
	overflow: hidden;
	padding: 16px;
	border: 1px solid #dcdcde;
	border-top: 4px solid #2271b1;
	border-radius: 6px;
	background: #fff;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.04);
}

.keepurl-link[draggable="true"] {
	cursor: grab;
}

.keepurl-category-drag-handle {
	flex: 0 0 auto;
	color: #646970;
	cursor: grab;
	font-size: 0.9rem;
	line-height: 1;
	user-select: none;
}

.keepurl-category-drag-handle:active {
	cursor: grabbing;
}

.keepurl-drag-ghost,
.keepurl-dragging {
	opacity: 0.5;
}

.keepurl-drag-chosen {
	background: #f6f7f7;
}

.keepurl-drop-target {
	outline: 2px dashed #2271b1;
	outline-offset: 4px;
}

.keepurl-category-header {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto auto;
	gap: 6px;
	align-items: center;
	margin-bottom: 12px;
	min-width: 0;
}

.keepurl-category-title {
	flex: 1 1 auto;
	min-width: 0;
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.3;
	overflow: hidden;
	text-overflow: ellipsis;
	overflow-wrap: normal;
	word-break: normal;
	hyphens: manual;
	white-space: nowrap;
}

.keepurl-shared-label {
	flex: 0 0 auto;
	max-width: 96px;
	padding: 1px 5px;
	border-radius: 999px;
	background: #f0f6fc;
	color: #2271b1;
	font-size: 0.68rem;
	font-weight: 600;
	line-height: 1.35;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.keepurl-demo-category .keepurl-category-title {
	min-width: 0;
}

.keepurl-category-actions {
	display: flex;
	flex: 0 0 auto;
	flex-wrap: nowrap;
	align-items: center;
	gap: 3px;
	justify-content: flex-end;
	margin-left: auto;
	min-width: max-content;
	white-space: nowrap;
}

.keepurl-small-button {
	flex: 0 0 auto;
	min-height: 26px;
	padding: 4px 7px;
	border: 1px solid #c3c4c7;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	font-size: 0.8rem;
	line-height: 1.2;
	white-space: nowrap;
	cursor: pointer;
	transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}

.keepurl-icon-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	min-width: 24px;
	min-height: 24px;
	height: 24px;
	padding: 2px;
	font-size: 0.75rem;
	text-align: center;
	line-height: normal;
}

.keepurl-icon-button[hidden] {
	display: none !important;
}

.keepurl-icon-button:hover,
.keepurl-icon-button:focus {
	border-color: #2271b1;
	background: #f0f6fc;
	color: #135e96;
}

.keepurl-category-pin-button,
.keepurl-link-favorite-button {
	color: #646970;
}

.keepurl-category-pin-button.is-active,
.keepurl-link-favorite-button.is-active {
	border-color: #dba617;
	background: #fcf9e8;
	color: #996800;
}

.keepurl-category-pin-button.is-active:hover,
.keepurl-category-pin-button.is-active:focus,
.keepurl-link-favorite-button.is-active:hover,
.keepurl-link-favorite-button.is-active:focus {
	border-color: #b98500;
	background: #fff7d6;
	color: #674200;
}

.keepurl-delete-category-button {
	color: #b32d2e;
}

.keepurl-delete-category-button:hover,
.keepurl-delete-category-button:focus,
.keepurl-delete-link-button:hover,
.keepurl-delete-link-button:focus {
	border-color: #b32d2e;
	background: #fcf0f1;
	color: #8a2424;
}

.keepurl-add-link-button {
	color: #2271b1;
	font-size: 0.85rem;
	font-weight: 700;
}

.keepurl-share-category-button {
	color: #2271b1;
}

.keepurl-collapse-category-button {
	color: #2271b1;
	font-weight: 700;
}

.keepurl-category-card-collapsed .keepurl-category-links {
	display: none;
}

.keepurl-category-links {
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	flex: 1 1 auto;
	gap: 0;
	min-height: 48px;
	overflow-y: auto;
	padding-right: 4px;
}

.keepurl-category-links.keepurl-drop-target {
	min-height: 72px;
}

.keepurl-category-empty {
	margin: 0;
	font-size: 0.9rem;
	color: #646970;
}

.keepurl-link {
	flex: 0 0 28px;
	display: grid;
	grid-template-columns: 16px minmax(0, 1fr) auto;
	gap: 5px;
	align-items: center;
	min-height: 28px;
	height: 28px;
	padding: 2px 0;
	border-top: 1px solid #f0f0f1;
	cursor: grab;
}

.keepurl-link:active,
.keepurl-link.sortable-chosen,
.keepurl-link.keepurl-drag-chosen {
	cursor: grabbing;
}

.keepurl-link:first-child {
	border-top: 0;
}

.keepurl-demo-link {
	grid-template-columns: 24px minmax(0, 1fr);
}

.keepurl-favicon {
	width: 13px;
	height: 13px;
	margin-top: 0;
	cursor: grab;
}

.keepurl-favicon-fallback {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	line-height: 1;
	cursor: grab;
}

.keepurl-link a,
.keepurl-link button {
	cursor: pointer;
}

.keepurl-link-content {
	display: flex;
	align-items: center;
	min-width: 0;
	overflow: hidden;
}

.keepurl-link-title {
	display: block;
	width: 100%;
	max-width: 100%;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 0.86rem;
	font-weight: 600;
	line-height: 1.15;
	white-space: nowrap;
	word-break: normal;
}

.keepurl-link-url,
.keepurl-link-description {
	display: none;
	max-width: 100%;
	margin-top: 1px;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 0.78rem;
	line-height: 1.25;
	color: #646970;
	white-space: nowrap;
	word-break: normal;
}

.keepurl-link-actions {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 3px;
	white-space: nowrap;
}

.keepurl-delete-link-button {
	color: #b32d2e;
}

.keepurl-search-result {
	display: flex;
	width: 100%;
	flex-direction: column;
	gap: 2px;
	margin: 0;
	padding: 8px 10px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
	color: #1d2327;
	cursor: pointer;
	text-align: left;
}

.keepurl-search-result + .keepurl-search-result {
	margin-top: 6px;
}

.keepurl-search-result:hover,
.keepurl-search-result:focus {
	border-color: #2271b1;
	background: #f0f6fc;
}

.keepurl-search-result-title {
	overflow: hidden;
	font-size: 0.9rem;
	font-weight: 600;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.keepurl-search-result-meta {
	overflow: hidden;
	color: #646970;
	font-size: 0.78rem;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.keepurl-demo-cta {
	margin-top: 18px;
	padding: 16px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
	text-align: center;
}

.keepurl-demo-cta p {
	margin: 0;
}

.keepurl-demo-cta a {
	color: #2271b1;
	font-weight: 600;
	text-decoration: none;
}

.keepurl-demo-cta a:hover {
	text-decoration: underline;
}

.keepurl-share-modal {
	position: fixed;
	inset: 0;
	z-index: 10000;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 24px;
	background: rgba(0, 0, 0, 0.35);
}

.keepurl-share-modal[hidden] {
	display: none;
}

.keepurl-share-modal__panel {
	position: relative;
	box-sizing: border-box;
	width: min(480px, 100%);
	max-height: calc(100vh - 48px);
	overflow-y: auto;
	padding: 20px;
	border: 1px solid #dcdcde;
	border-radius: 4px;
	background: #fff;
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.18);
}

.keepurl-share-modal-close {
	position: absolute;
	top: 10px;
	right: 10px;
	border: 1px solid transparent;
	background: transparent;
	color: #646970;
	cursor: pointer;
	font-size: 1rem;
}

.keepurl-share-modal-close:hover,
.keepurl-share-modal-close:focus {
	border-color: #c3c4c7;
	background: #f6f7f7;
	color: #1d2327;
}

.keepurl-share-title {
	margin: 0 32px 16px 0;
	font-size: 1.05rem;
}

.keepurl-share-form {
	display: grid;
	gap: 14px;
}

.keepurl-share-form .keepurl-form-input {
	width: 100%;
}

.keepurl-share-list {
	display: grid;
	gap: 6px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #dcdcde;
	font-size: 0.88rem;
}

.keepurl-share-list-title {
	margin: 0;
	font-size: 0.95rem;
}

.keepurl-share-empty {
	margin: 0;
	color: #646970;
}

.keepurl-share-row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(96px, 120px) auto;
	gap: 8px;
	align-items: center;
	padding: 9px 0;
	border-top: 1px solid #f0f0f1;
}

.keepurl-share-identity {
	display: grid;
	gap: 2px;
	min-width: 0;
}

.keepurl-share-identity strong,
.keepurl-share-identity span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.keepurl-share-identity span,
.keepurl-share-permission-text {
	color: #646970;
	font-size: 0.8rem;
}

.keepurl-share-permission-select {
	width: 100%;
	max-width: 120px;
}

@media (max-width: 1100px) {
	.keepurl-workspace {
		grid-template-columns: 1fr;
	}

	.keepurl-memo-panel {
		order: 2;
	}

	.keepurl-memo-top .keepurl-memo-panel {
		order: 0;
	}

	.keepurl-memo-top .keepurl-board {
		order: 1;
	}

	.keepurl-memo-bottom .keepurl-board {
		order: 0;
	}

	.keepurl-memo-bottom .keepurl-memo-panel {
		order: 2;
	}

	.keepurl-workspace .keepurl-board {
		grid-template-columns: repeat(var(--keepurl-card-columns), minmax(0, 1fr)) !important;
	}

	.keepurl-memo-top .keepurl-workspace .keepurl-board,
	.keepurl-memo-bottom .keepurl-workspace .keepurl-board {
		grid-template-columns: repeat(var(--keepurl-card-columns), minmax(0, 1fr)) !important;
	}
}

@media (max-width: 960px) {
	.keepurl-public-demo .keepurl-demo-board {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

@media (max-width: 900px) {
	.keepurl-workspace .keepurl-board {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.keepurl-memo-top .keepurl-workspace .keepurl-board,
	.keepurl-memo-bottom .keepurl-workspace .keepurl-board {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}

	.keepurl-panicroom-grid {
		grid-template-columns: repeat(2, minmax(240px, 1fr));
	}
}

@media (max-width: 768px) {
	body:has(.keepurl-dashboard) header.wp-block-template-part .wp-block-group.is-layout-flex,
	body:has(.keepurl-login-required) header.wp-block-template-part .wp-block-group.is-layout-flex {
		flex-wrap: wrap;
		row-gap: 6px;
	}

	body:has(.keepurl-dashboard) .keepurl-site-title-actions,
	body:has(.keepurl-login-required) .keepurl-site-title-actions {
		flex: 1 1 auto;
		flex-wrap: nowrap;
		gap: 5px;
		width: auto;
	}

	body:has(.keepurl-dashboard) .keepurl-site-title-actions .wp-block-site-title,
	body:has(.keepurl-login-required) .keepurl-site-title-actions .wp-block-site-title {
		order: -2;
		flex: 1 1 auto;
		min-width: 0;
	}

	body:has(.keepurl-dashboard) .keepurl-site-title-actions .wp-block-site-title a,
	body:has(.keepurl-login-required) .keepurl-site-title-actions .wp-block-site-title a {
		display: block;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	body:has(.keepurl-dashboard) .keepurl-header-auth-target,
	body:has(.keepurl-login-required) .keepurl-header-auth-target {
		order: 1;
		margin-left: auto;
		font-size: 0.82rem;
		line-height: 1.2;
	}

	body:has(.keepurl-dashboard) .keepurl-header-category-toggle,
	body:has(.keepurl-login-required) .keepurl-header-category-toggle {
		order: 2;
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 32px;
		width: 32px;
		min-width: 32px;
		height: 32px;
		min-height: 32px;
		overflow: hidden;
		padding: 0;
		color: transparent;
		font-size: 0;
		line-height: 1;
		white-space: nowrap;
	}

	body:has(.keepurl-dashboard) .keepurl-header-category-toggle::before,
	body:has(.keepurl-login-required) .keepurl-header-category-toggle::before {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #1d2327;
		font-size: 1rem;
		font-weight: 700;
		line-height: 1;
	}

	body:has(.keepurl-dashboard) .keepurl-add-category-toggle::before,
	body:has(.keepurl-login-required) .keepurl-add-category-toggle::before {
		content: "+";
		font-size: 1.2rem;
	}

	body:has(.keepurl-dashboard) .keepurl-storage-toggle::before,
	body:has(.keepurl-login-required) .keepurl-storage-toggle::before {
		content: "\1F5C2";
	}

	body:has(.keepurl-dashboard) .keepurl-storage-toggle.is-open,
	body:has(.keepurl-login-required) .keepurl-storage-toggle.is-open {
		border-color: #2271b1;
		box-shadow: inset 0 0 0 1px #2271b1;
	}

	body:has(.keepurl-dashboard) .keepurl-storage-toggle.is-open::before,
	body:has(.keepurl-login-required) .keepurl-storage-toggle.is-open::before {
		color: #135e96;
	}

	body:has(.keepurl-dashboard) .keepurl-start-page-toggle::before,
	body:has(.keepurl-login-required) .keepurl-start-page-toggle::before {
		content: "\2302";
		font-size: 1.1rem;
	}

	.keepurl-dashboard .keepurl-app-header {
		flex-wrap: nowrap;
		gap: 4px;
		align-items: center;
		overflow: hidden;
	}

	.keepurl-dashboard .keepurl-app-brand {
		flex: 0 0 auto;
		overflow: hidden;
		text-overflow: ellipsis;
		font-size: 1rem;
	}

	.keepurl-dashboard .keepurl-app-brand-logo {
		height: 34px;
	}

	.keepurl-dashboard .keepurl-app-brand-text {
		min-height: 34px;
	}

	.keepurl-dashboard .keepurl-auth-source {
		flex: 0 0 auto;
		margin-left: auto;
		font-size: 0.82rem;
		line-height: 1.2;
		white-space: nowrap;
	}

	.keepurl-dashboard .keepurl-workspace-switcher {
		flex: 0 1 50%;
		gap: 4px;
		font-size: 0.72rem;
		max-width: 50%;
		min-width: 0;
	}

	.keepurl-dashboard .keepurl-workspace-switcher label {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(1px, 1px, 1px, 1px);
		white-space: nowrap;
	}

	.keepurl-dashboard .keepurl-workspace-switcher .keepurl-form-input {
		width: 100%;
		min-width: 0;
		height: 32px;
		min-height: 32px;
		padding: 3px 24px 3px 8px;
		box-sizing: border-box;
		line-height: 1.1;
		font-size: 0.78rem;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.keepurl-dashboard .keepurl-current-workspace-indicator {
		display: none;
	}

	.keepurl-dashboard .keepurl-workspace-settings-button {
		position: relative;
		flex: 0 0 auto;
		width: 32px;
		min-height: 32px;
		height: 32px;
		overflow: hidden;
		padding: 0;
		color: transparent;
		font-size: 0;
		line-height: 1;
	}

	.keepurl-dashboard .keepurl-workspace-settings-button::before {
		content: "\2699";
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #1d2327;
		font-size: 1rem;
		line-height: 1;
	}

	.keepurl-workspace-invite-form {
		grid-template-columns: 1fr;
	}

	.keepurl-workspace-create-form {
		grid-template-columns: 1fr;
	}

	.keepurl-workspace-invite-email-field {
		grid-column: auto;
	}

	.keepurl-workspace-invite-form .keepurl-form-actions {
		width: 100%;
		min-width: 0;
	}

	.keepurl-workspace-invite-form .keepurl-form-actions {
		flex-wrap: wrap;
	}

	.keepurl-workspace-member-row,
	.keepurl-workspace-invitation-row {
		grid-template-columns: 1fr;
	}

	.keepurl-workspace-member-email {
		white-space: normal;
	}

	.keepurl-workspace-member-actions {
		justify-content: stretch;
	}

	.keepurl-workspace-member-actions .keepurl-small-button,
	.keepurl-workspace-member-actions .keepurl-workspace-protected-note {
		width: 100%;
	}

	.keepurl-dashboard .keepurl-add-category-toggle,
	.keepurl-dashboard .keepurl-storage-toggle {
		position: relative;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		flex: 0 0 32px;
		width: 32px !important;
		min-width: 32px;
		height: 32px;
		min-height: 32px;
		overflow: hidden;
		padding: 0;
		color: transparent;
		font-size: 0;
		line-height: 1;
		white-space: nowrap;
	}

	.keepurl-public-demo .keepurl-app-header > a.keepurl-button:not(.keepurl-add-category-toggle):not(.keepurl-storage-toggle) {
		height: 32px;
		min-height: 32px;
		padding: 0 10px;
		line-height: 1;
	}

	.keepurl-dashboard .keepurl-add-category-toggle::before,
	.keepurl-dashboard .keepurl-storage-toggle::before {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		color: #1d2327;
		font-size: 1rem;
		font-weight: 700;
		line-height: 1;
	}

	.keepurl-dashboard .keepurl-add-category-toggle::before {
		content: "+";
		font-size: 1.2rem;
	}

	.keepurl-dashboard .keepurl-storage-toggle::before {
		content: "\1F5C2";
	}

	.keepurl-dashboard .keepurl-storage-toggle.is-open {
		border-color: #2271b1;
		box-shadow: inset 0 0 0 1px #2271b1;
	}

	.keepurl-dashboard .keepurl-storage-toggle.is-open::before {
		color: #135e96;
	}

	.keepurl-memo-left .keepurl-workspace,
	.keepurl-memo-right .keepurl-workspace,
	.keepurl-memo-top .keepurl-workspace,
	.keepurl-memo-bottom .keepurl-workspace {
		grid-template-columns: 1fr;
	}

	.keepurl-memo-left .keepurl-board,
	.keepurl-memo-right .keepurl-board,
	.keepurl-memo-bottom .keepurl-board {
		order: 0;
	}

	.keepurl-memo-left .keepurl-memo-panel,
	.keepurl-memo-right .keepurl-memo-panel,
	.keepurl-memo-bottom .keepurl-memo-panel {
		order: 2;
	}

	.keepurl-memo-top .keepurl-memo-panel {
		order: 0;
	}

	.keepurl-memo-top .keepurl-board {
		order: 1;
	}

	.keepurl-workspace .keepurl-board,
	.keepurl-memo-top .keepurl-workspace .keepurl-board,
	.keepurl-memo-bottom .keepurl-workspace .keepurl-board {
		grid-template-columns: 1fr !important;
	}

	.keepurl-update-notice {
		align-items: stretch;
		flex-direction: column;
	}

	.keepurl-update-notice .keepurl-small-button {
		width: 100%;
	}

	.keepurl-storage-panel {
		gap: 8px;
		padding: 10px;
	}

	.keepurl-storage-header {
		flex-wrap: wrap;
		gap: 6px 8px;
	}

	.keepurl-storage-header h2 {
		font-size: 1rem;
	}

	.keepurl-storage-toolbar {
		flex: 1 1 260px;
		justify-content: flex-end;
		gap: 6px;
		min-width: 0;
	}

	.keepurl-storage-toolbar .keepurl-form-input {
		flex: 1 1 150px;
		width: auto;
		min-height: 34px;
		padding: 6px 8px;
	}

	.keepurl-storage-toolbar .keepurl-button {
		flex: 0 0 auto;
		width: auto;
		min-height: 34px;
		padding: 6px 9px;
		white-space: nowrap;
	}

	.keepurl-storage-upload {
		align-items: center;
		flex-direction: row;
		gap: 6px;
		min-width: 0;
	}

	.keepurl-storage-dropzone {
		display: block;
		flex: 1 1 180px;
		min-height: 0;
		padding: 0;
		border: 0;
		background: transparent;
		text-align: left;
	}

	.keepurl-storage-dropzone span,
	.keepurl-storage-dropzone small {
		display: none;
	}

	.keepurl-storage-dropzone input {
		width: 100%;
		margin-top: 0;
	}

	.keepurl-storage-upload .keepurl-button {
		flex: 0 0 auto;
		width: auto;
		min-height: 34px;
		padding: 6px 9px;
		white-space: nowrap;
	}

	.keepurl-start-page-panel {
		max-width: min(100%, calc(100vw - 24px));
		gap: 10px;
	}

	.keepurl-start-page-url {
		flex-wrap: wrap;
		gap: 6px;
	}

	.keepurl-start-page-url .keepurl-button {
		min-height: 34px;
		padding: 6px 9px;
	}

	.keepurl-start-page-grid {
		grid-template-columns: 1fr;
		gap: 8px;
	}

	.keepurl-start-page-section {
		padding: 9px;
	}

	.keepurl-pricing-hero,
	.keepurl-pricing-grid,
	.keepurl-pricing-grid--private {
		grid-template-columns: 1fr;
	}

	.keepurl-pricing-card-header,
	.keepurl-pricing-section-heading,
	.keepurl-pricing-cta {
		align-items: flex-start;
		flex-direction: column;
	}

	.keepurl-pricing-card-price {
		justify-items: flex-start;
		text-align: left;
	}

	.keepurl-pricing-card-columns {
		grid-template-columns: 1fr;
	}

	.keepurl-pricing-content,
	.keepurl-pricing-content .keepurl-page-hero,
	.keepurl-pricing-content .keepurl-page-section,
	.keepurl-pricing-content .keepurl-pricing-card,
	.keepurl-pricing-content .keepurl-pricing-hero-panel,
	.keepurl-pricing-content .keepurl-pricing-grid,
	.keepurl-pricing-content .keepurl-pricing-grid--private {
		min-width: 0;
		max-width: 100%;
	}

	.keepurl-pricing-content .keepurl-pricing-section-note,
	.keepurl-pricing-content .keepurl-pricing-positioning,
	.keepurl-pricing-content .keepurl-pricing-note,
	.keepurl-pricing-content .keepurl-pricing-feature-list li,
	.keepurl-pricing-content .keepurl-pricing-card h3,
	.keepurl-pricing-content .keepurl-pricing-price,
	.keepurl-pricing-content .keepurl-pricing-secondary-price,
	.keepurl-pricing-content .keepurl-pricing-hero h1,
	.keepurl-pricing-content .keepurl-pricing-subheadline {
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	.keepurl-pricing-content .keepurl-public-cta-actions,
	.keepurl-pricing-content .keepurl-public-cta-actions .keepurl-button,
	.keepurl-pricing-content .keepurl-pricing-card .keepurl-button {
		max-width: 100%;
	}

	.keepurl-pricing-cta {
		padding: 16px;
	}

	.keepurl-contact-hero,
	.keepurl-contact-layout {
		grid-template-columns: 1fr;
	}

	.keepurl-contact-hero h1 {
		font-size: 1.7rem;
	}

	.keepurl-contact-hero-panel,
	.keepurl-contact-info,
	.keepurl-contact-card {
		padding: 14px;
	}

	.keepurl-form-grid {
		grid-template-columns: 1fr;
	}

	.keepurl-contact-actions {
		flex-direction: column;
	}

	.keepurl-contact-actions .keepurl-button {
		width: 100%;
	}

	.keepurl-memo-position-select option[value="left"],
	.keepurl-memo-position-select option[value="right"] {
		display: none;
	}

	.keepurl-dashboard .keepurl-app-header .keepurl-button {
		flex: 0 0 auto;
		width: auto;
		max-width: 100%;
		white-space: nowrap;
	}

	.keepurl-dashboard .keepurl-workspace-settings-button {
		width: 32px !important;
		min-width: 32px !important;
	}
}

@media (max-width: 600px) {
	.keepurl-memo-panel {
		min-width: 0;
	}

	.keepurl-memo-editor {
		min-width: 0;
		max-width: 100%;
	}

	.keepurl-public-page,
	.keepurl-dashboard-shell,
	.keepurl-panicroom {
		width: 100% !important;
		max-width: none !important;
		margin-left: auto !important;
		margin-right: auto !important;
		padding-left: 8px !important;
		padding-right: 8px !important;
		box-sizing: border-box;
	}

	.keepurl-dashboard-shell {
		padding-top: 8px !important;
		padding-bottom: 24px !important;
	}

	.keepurl-public-page,
	.keepurl-panicroom {
		padding-top: 10px !important;
		padding-bottom: 24px !important;
	}

	body.keepurl-frontend-page {
		--wp--preset--spacing--50: 8px;
	}

	body.keepurl-frontend-page .has-global-padding,
	body.keepurl-frontend-page .wp-block-post-content,
	body.keepurl-frontend-page .entry-content,
	body.keepurl-frontend-page .wp-site-blocks > main.has-global-padding,
	body.keepurl-frontend-page .wp-site-blocks > main .wp-block-group.has-global-padding,
	body.keepurl-frontend-page .wp-site-blocks > main .wp-block-group.is-layout-constrained {
		padding-left: 8px !important;
		padding-right: 8px !important;
	}

	body.keepurl-frontend-page .wp-block-group.alignfull.has-global-padding.is-layout-constrained {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
		box-sizing: border-box !important;
	}

	.keepurl-public-page:not(.keepurl-standard-page),
	.keepurl-dashboard-shell,
	.keepurl-panicroom {
		width: min(1200px, calc(100vw - 16px)) !important;
		max-width: 1200px !important;
	}

	body.keepurl-frontend-page .keepurl-public-page,
	body.keepurl-frontend-page .keepurl-dashboard-shell,
	body.keepurl-frontend-page .keepurl-panicroom {
		/*width: auto !important;
		max-width: 100% !important;
		margin-left: auto !important;
		margin-right: auto !important;*/
		box-sizing: border-box;
	}

	.keepurl-public-page.keepurl-about-page,
	.keepurl-public-page.keepurl-pricing-page,
	.keepurl-public-page.keepurl-contact-page {
		padding-left: 8px !important;
		padding-right: 8px !important;
		box-sizing: border-box;
	}

	.keepurl-dashboard.keepurl-dashboard-shell {
		width: 100% !important;
		max-width: calc(100vw - 16px) !important;
	}

	.keepurl-dashboard,
	.keepurl-dashboard .keepurl-app-header,
	.keepurl-dashboard .keepurl-workspace,
	.keepurl-dashboard .keepurl-board,
	.keepurl-dashboard .keepurl-category-card,
	.keepurl-dashboard .keepurl-links-list,
	.keepurl-dashboard .keepurl-link,
	.keepurl-dashboard .keepurl-memo-panel,
	.keepurl-dashboard .keepurl-memo-editor,
	.keepurl-dashboard .keepurl-memo-toolbar,
	.keepurl-dashboard .keepurl-memo-checklist,
	.keepurl-dashboard .keepurl-storage-panel {
		min-width: 0;
		max-width: 100%;
	}

	.keepurl-dashboard .keepurl-category-actions,
	.keepurl-dashboard .keepurl-link-actions,
	.keepurl-dashboard .keepurl-memo-header-actions,
	.keepurl-dashboard .keepurl-memo-checklist-filters {
		min-width: 0;
		max-width: 100%;
	}

	.keepurl-dashboard .keepurl-category-actions {
		flex-wrap: wrap;
	}

	.keepurl-about-page,
	.keepurl-pricing-page,
	.keepurl-contact-page,
	.keepurl-about-page .keepurl-page-container,
	.keepurl-pricing-page .keepurl-page-container,
	.keepurl-contact-page .keepurl-page-container,
	.keepurl-pricing-page .keepurl-pricing-grid,
	.keepurl-pricing-page .keepurl-pricing-grid--private,
	.keepurl-pricing-page .keepurl-pricing-card,
	.keepurl-pricing-page .keepurl-pricing-card-columns,
	.keepurl-pricing-page .keepurl-pricing-table-wrap,
	.keepurl-contact-page .keepurl-contact-layout,
	.keepurl-contact-page .keepurl-contact-card,
	.keepurl-contact-page .keepurl-contact-form,
	.keepurl-contact-page .keepurl-form-grid,
	.keepurl-about-page .keepurl-comparison-grid,
	.keepurl-about-page .keepurl-comparison-card {
		min-width: 0;
		max-width: 100%;
		box-sizing: border-box;
	}

	.keepurl-pricing-page .keepurl-pricing-card-header,
	.keepurl-pricing-page .keepurl-pricing-section-heading,
	.keepurl-pricing-page .keepurl-pricing-cta,
	.keepurl-contact-page .keepurl-contact-actions {
		flex-wrap: wrap;
	}

	.keepurl-pricing-page .keepurl-pricing-table {
		min-width: 560px;
	}

	.keepurl-page-container,
	.keepurl-page-hero,
	.keepurl-page-section,
	.keepurl-blog-card,
	.keepurl-pricing-card,
	.keepurl-contact-card,
	.keepurl-panicroom-card,
	.keepurl-category-card,
	.keepurl-link-list-card,
	.keepurl-memo-panel,
	.keepurl-storage-panel {
		max-width: 100%;
		box-sizing: border-box;
	}

	.keepurl-public-header,
	.keepurl-public-footer {
		align-items: flex-start;
		flex-direction: row;
		flex-wrap: wrap;
		gap: 8px 12px;
	}

	.keepurl-public-nav {
		justify-content: flex-start;
		width: 100%;
	}

	.keepurl-public-footer-nav {
		margin-left: auto;
		margin-right: auto;
		justify-content: center;
		gap: 8px 10px;
		text-align: center;
	}

	.keepurl-public-footer-brand {
		flex: 1 1 100%;
	}

	.keepurl-public-nav a.keepurl-button {
		width: auto;
		height: 32px;
		min-height: 32px;
		padding: 0 10px;
		align-items: center;
		line-height: 1;
	}

	.keepurl-blog-grid {
		grid-template-columns: 1fr;
	}

	.keepurl-blog-card {
		padding: 16px;
	}

	.keepurl-page-hero,
	.keepurl-page-section,
	.keepurl-comparison-card {
		padding: 14px;
	}

	.keepurl-page-hero h1 {
		font-size: 1.45rem;
	}

	.keepurl-pricing-hero h1 {
		font-size: 1.7rem;
	}

	.keepurl-pricing-hero-panel {
		padding: 14px;
	}

	.keepurl-pricing-card {
		padding: 16px;
	}

	.keepurl-pricing-faq-item summary {
		padding: 14px 16px;
	}

	.keepurl-pricing-faq-item p {
		padding: 0 16px 14px;
	}

	.keepurl-comparison-grid,
	.keepurl-guide-grid {
		grid-template-columns: 1fr;
	}

	.keepurl-panicroom-header {
		align-items: stretch;
		flex-direction: column;
		padding: 16px;
	}

	.keepurl-panicroom-header h1 {
		font-size: 1.45rem;
	}

	.keepurl-panicroom-grid {
		grid-template-columns: 1fr;
		gap: 12px;
	}

	.keepurl-panicroom-card {
		padding: 14px;
	}

	.keepurl-panicroom-info {
		grid-template-columns: 1fr;
		gap: 4px 0;
	}

	.keepurl-panicroom-info dt {
		white-space: normal;
	}

	.keepurl-panicroom-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.keepurl-panicroom-actions .keepurl-button,
	.keepurl-panicroom .keepurl-button {
		width: 100%;
		white-space: normal;
	}

	.keepurl-panicroom-message .keepurl-panicroom-actions {
		align-items: center;
	}

	.keepurl-panicroom-message .keepurl-panicroom-actions .keepurl-button {
		width: auto;
		min-width: 120px;
	}

	.keepurl-auth-source {
		position: static !important;
		margin-left: auto;
		margin-bottom: 6px;
		text-align: right;
	}

	.keepurl-dashboard .keepurl-app-header .keepurl-auth-source {
		margin-left: 0;
		margin-bottom: 0;
	}

	.keepurl-header {
		margin-bottom: 8px;
	}

	.keepurl-add-category-toggle {
		width: auto !important;
		max-width: 100%;
	}

	.keepurl-header-category-toggle {
		margin-left: 0;
		padding: 5px 8px;
		font-size: 0.8rem;
	}

	.keepurl-site-title-actions {
		gap: 8px;
	}

	.keepurl-toolbar {
		align-items: stretch;
	}

	.keepurl-category-form,
	.keepurl-link-form {
		grid-template-columns: 1fr;
	}

	.keepurl-form-actions,
	.keepurl-memo-actions {
		flex-direction: column;
		align-items: stretch;
	}

	.keepurl-memo-counter {
		margin-left: 0;
	}

	.keepurl-memo-header {
		align-items: center;
		flex-direction: row;
		gap: 6px;
	}

	.keepurl-memo-header-actions {
		align-items: center;
		flex-direction: row;
		width: auto;
	}

	.keepurl-memo-selector-label {
		align-items: stretch;
		flex-direction: column;
		flex-basis: 100%;
		width: 100%;
	}

	.keepurl-memo-selector {
		max-width: none;
		width: 100%;
	}

	.keepurl-memo-position-select {
		width: 72px;
	}

	.keepurl-search,
	.keepurl-button {
		width: 100%;
	}

	.keepurl-memo-checklist-item,
	.keepurl-memo-checklist-item.is-readonly {
		grid-template-columns: 16px 18px minmax(0, 1fr) auto auto auto;
		align-items: center;
	}

	.keepurl-memo-checklist-item.is-readonly {
		grid-template-columns: 18px minmax(0, 1fr) auto;
	}

	.keepurl-memo-checklist-assignee-select {
		grid-column: 3 / -1;
		grid-row: 2;
		max-width: 100%;
	}

	.keepurl-memo-checklist-assignee-text {
		grid-column: 2;
		grid-row: 2;
		max-width: 100%;
	}

	.keepurl-memo-checklist-due-date-control,
	.keepurl-memo-checklist-due-status {
		grid-column: 3 / -1;
		max-width: 100%;
	}

	.keepurl-memo-checklist-due-date-control {
		grid-row: 3;
		flex-wrap: wrap;
	}

	.keepurl-memo-checklist-due-status {
		grid-row: 4;
		justify-self: start;
	}

	.keepurl-memo-checklist-due-date-text,
	.keepurl-memo-checklist-item.is-readonly .keepurl-memo-checklist-due-status {
		grid-column: 2;
		max-width: 100%;
	}

	.keepurl-memo-checklist-due-date-text {
		grid-row: 3;
	}

	.keepurl-memo-checklist-item.is-readonly .keepurl-memo-checklist-due-status {
		grid-row: 4;
		justify-self: start;
	}

	.keepurl-edit-checklist-item-button {
		grid-column: 4;
		grid-row: 1;
	}

	.keepurl-delete-checklist-item-button {
		grid-column: 5;
		grid-row: 1;
	}

	.keepurl-attach-file-button {
		grid-column: 6;
		grid-row: 1;
	}

	.keepurl-memo-checklist-item.is-readonly .keepurl-attach-file-button {
		grid-column: 3;
		grid-row: 1;
	}

	.keepurl-memo-activity-row {
		grid-template-columns: 1fr;
		gap: 2px;
	}

	.keepurl-memo-activity-time {
		white-space: normal;
	}

	.keepurl-public-cta-actions {
		width: 100%;
	}

	.keepurl-public-cta {
		justify-items: stretch;
		padding: 16px;
		text-align: left;
	}

	.keepurl-public-cta-title {
		font-size: 1.2rem;
	}

	.keepurl-public-feature-list {
		justify-content: flex-start;
	}

	.keepurl-public-cta-actions .keepurl-button {
		justify-content: center;
		width: 100%;
	}

	.keepurl-start-guide-url-row {
		align-items: stretch;
	}

	.keepurl-start-page-copy-button {
		width: 100%;
	}

	.keepurl-workspace .keepurl-board {
		grid-template-columns: 1fr !important;
	}

	.keepurl-import-export-grid {
		grid-template-columns: 1fr;
	}

	.keepurl-storage-layout,
	.keepurl-storage-box-row,
	.keepurl-storage-file-row {
		grid-template-columns: 1fr;
	}

	.keepurl-storage-box-row {
		grid-template-columns: minmax(0, 1fr) auto;
	}

	.keepurl-storage-file-row {
		grid-template-columns: 26px minmax(0, 1fr) auto;
		gap: 6px;
		padding: 6px;
	}

	.keepurl-storage-file-row.keepurl-storage-can-sort {
		grid-template-columns: 18px 26px minmax(0, 1fr) auto;
	}

	.keepurl-storage-search-result-row {
		grid-template-columns: 26px minmax(0, 1fr) auto;
	}

	.keepurl-storage-file-preview {
		width: 26px;
		height: 26px;
		font-size: 0.52rem;
	}

	.keepurl-storage-file-details {
		display: grid;
		gap: 1px;
	}

	.keepurl-storage-file-date,
	.keepurl-storage-file-type,
	.keepurl-storage-file-size {
		display: none;
	}

	.keepurl-storage-search-result-row .keepurl-storage-search-location {
		display: block;
	}

	.keepurl-storage-files-header {
		align-items: stretch;
		flex-direction: column;
	}

	.keepurl-storage-file-tools {
		justify-content: stretch;
	}

	.keepurl-storage-search-input {
		max-width: none;
		width: 100%;
	}

	.keepurl-storage-file-scroll {
		max-height: 440px;
	}

	.keepurl-storage-folder-list {
		margin-bottom: 6px;
	}

	.keepurl-storage-toolbar,
	.keepurl-storage-file-actions {
		align-items: stretch;
		flex-direction: column;
	}

	.keepurl-storage-toolbar {
		align-items: center;
		flex-direction: row;
	}

	.keepurl-storage-toolbar .keepurl-form-input {
		flex: 1 1 150px;
	}

	.keepurl-storage-toolbar .keepurl-button {
		width: auto;
		white-space: nowrap;
	}

	.keepurl-storage-folder-toolbar {
		flex-wrap: nowrap;
		min-width: 0;
		align-items: center;
	}

	.keepurl-storage-folder-toolbar .keepurl-form-input {
		flex: 1 1 0;
		min-width: 0;
	}

	.keepurl-storage-folder-toolbar .keepurl-button {
		flex: 0 0 auto;
		width: auto;
		white-space: nowrap;
	}

	.keepurl-storage-upload .keepurl-button {
		flex: 0 0 auto;
		width: auto;
		white-space: nowrap;
	}

	.keepurl-storage-upload {
		flex-wrap: nowrap;
		min-width: 0;
	}

	.keepurl-storage-dropzone {
		min-width: 0;
	}

	.keepurl-storage-file-actions,
	.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-actions {
		display: flex;
		flex-direction: row;
		flex-wrap: nowrap;
		align-items: center;
		justify-content: flex-end;
		gap: 3px;
		min-width: 0;
		overflow: visible;
		white-space: nowrap;
	}

	.keepurl-storage-file-row {
		overflow: hidden;
	}

	.keepurl-storage-file-actions .keepurl-small-button {
		flex: 0 0 26px;
		width: 26px;
		min-width: 26px;
		min-height: 26px;
		padding: 2px 4px;
		font-size: 0.72rem;
		line-height: 1;
	}

	.keepurl-storage-file-details strong,
	.keepurl-storage-file-details span {
		max-width: 100%;
		overflow: hidden;
		text-overflow: ellipsis;
		white-space: nowrap;
	}

	.keepurl-storage-file-list.is-thumbnail-view {
		grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	}

	.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-row {
		grid-template-columns: minmax(0, 1fr);
		gap: 5px;
		padding: 6px;
	}

	.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-preview {
		width: 100%;
		height: auto;
		max-height: 72px;
	}

	.keepurl-storage-file-list.is-thumbnail-view .keepurl-storage-file-actions {
		justify-content: center;
	}

	.keepurl-account-grid {
		grid-template-columns: 1fr;
	}

	.keepurl-account-info {
		grid-template-columns: 1fr;
	}

	.keepurl-memo-top .keepurl-workspace .keepurl-board,
	.keepurl-memo-bottom .keepurl-workspace .keepurl-board {
		grid-template-columns: 1fr !important;
	}

	.keepurl-public-demo .keepurl-demo-board {
		grid-template-columns: 1fr !important;
	}

	.keepurl-link {
		grid-template-columns: 16px minmax(0, 1fr) auto;
	}

	.keepurl-dashboard[data-keepurl-dashboard] .keepurl-link {
		grid-template-columns: 16px minmax(0, 1fr) auto;
	}

	.keepurl-category-header {
		grid-template-columns: auto minmax(0, 1fr) auto;
		align-items: center;
		gap: 4px;
	}

	.keepurl-shared-label {
		grid-column: 2 / 3;
		width: max-content;
		max-width: 100%;
	}

	.keepurl-category-actions {
		grid-column: 3 / 4;
		grid-row: 1 / span 2;
		flex-wrap: nowrap;
		max-width: none;
		gap: 2px;
		justify-content: flex-end;
	}

	.keepurl-category-card {
		padding: 12px;
	}

	.keepurl-share-modal {
		align-items: flex-start;
		padding: 12px;
	}

	.keepurl-share-modal__panel {
		width: min(100%, calc(100vw - 24px));
		max-height: calc(100vh - 24px);
		padding: 14px;
	}

	.keepurl-share-title {
		font-size: 1rem;
		line-height: 1.25;
	}

	.keepurl-share-row {
		grid-template-columns: minmax(0, 1fr);
		align-items: stretch;
	}

	.keepurl-share-row .keepurl-small-button,
	.keepurl-share-permission-select {
		width: 100%;
		max-width: none;
	}

	.keepurl-link-actions {
		grid-column: auto;
	}

	.keepurl-memo-content {
		height: 220px;
		min-height: 180px;
		max-height: 55vh;
	}

	.keepurl-memo-toolbar {
		gap: 3px;
		padding: 3px 4px;
		-webkit-overflow-scrolling: touch;
	}

	.keepurl-memo-size-label {
		margin-right: 0;
	}

	.keepurl-memo-size-select {
		width: 56px;
		min-width: 56px;
		min-height: 26px;
		padding: 2px 14px 2px 4px;
		font-size: 12.5px;
	}

	.keepurl-memo-toolbar-button {
		min-height: 26px;
		padding: 4px 6px;
		font-size: 12.5px;
	}
}

body:has(.keepurl-dashboard) [data-keepurl-storage-toggle].keepurl-storage-toggle.has-updates,
.keepurl-dashboard [data-keepurl-storage-refresh].keepurl-storage-refresh.has-updates {
	border-color: #dc2626 !important;
	background: #fee2e2 !important;
	color: #991b1b !important;
	font-weight: 600;
	box-shadow: inset 0 0 0 1px #dc2626 !important;
}

body:has(.keepurl-dashboard) [data-keepurl-storage-toggle].keepurl-storage-toggle.has-updates::before {
	color: #991b1b !important;
}

body:has(.keepurl-dashboard) [data-keepurl-storage-toggle].keepurl-storage-toggle.has-updates::after {
	content: "";
	position: absolute;
	top: 4px;
	right: 4px;
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: #dc2626;
	box-shadow: 0 0 0 2px #fff;
}

body:has(.keepurl-dashboard) [data-keepurl-storage-refresh].keepurl-storage-refresh.has-updates {
	border-color: #dc2626 !important;
	background: #fee2e2 !important;
	color: #991b1b !important;
	font-weight: 600;
	box-shadow: inset 0 0 0 1px #dc2626 !important;
}
