/* Settings shell — aligned with 4WP Weather admin UI */

.forwp-drive-admin-shell {
	max-width: 1100px;
}

.forwp-drive-admin-shell h1.forwp-drive-admin-heading {
	align-items: center;
	display: flex;
	font-size: 1.6rem;
	font-weight: 600;
	gap: 10px;
	margin-bottom: 0.25rem;
}

.forwp-drive-admin-shell .forwp-drive-admin-heading__icon {
	align-items: center;
	color: var(--wp-admin-theme-color, #3858e9);
	display: inline-flex;
	flex-shrink: 0;
	justify-content: center;
	line-height: 0;
}

.forwp-drive-admin-shell .forwp-drive-admin-heading__icon svg {
	display: block;
}

.forwp-drive-admin-shell .forwp-drive-status--global.forwp-drive-status--visible {
	margin: 12px 0 16px;
}

.forwp-drive-admin-app {
	background: #fff;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
	overflow: hidden;
}

.forwp-drive-admin-app .forwp-drive-tab-panel .components-tab-panel__tabs {
	align-items: stretch;
	background: #fafafa;
	border-bottom: 1px solid #e0e0e0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
	margin: 0;
	padding: 0;
}

.forwp-drive-admin-app .forwp-drive-tab-panel .components-tab-panel__tabs .forwp-drive-tab {
	border: 1px solid transparent;
	border-bottom: none;
	border-radius: 0;
	box-shadow: none;
	font-weight: 500;
	height: auto;
	margin: 0 !important;
	min-height: 0;
	padding: 10px 14px;
}

.forwp-drive-admin-app .forwp-drive-tab-panel .components-tab-panel__tabs .forwp-drive-tab.is-active {
	background: #fff;
	border-color: #e0e0e0 #e0e0e0 #fff;
	margin-bottom: -1px !important;
	position: relative;
	z-index: 1;
}

.forwp-drive-admin-app .forwp-drive-tab-panel .components-tab-panel__tab-content {
	padding: 18px 20px;
}

.forwp-drive-admin-section-title {
	font-size: 1.05rem;
	font-weight: 600;
	margin: 0 0 8px;
}

.forwp-drive-admin-muted {
	color: #646970;
	font-size: 13px;
	line-height: 1.5;
	margin: 0 0 16px;
	max-width: 72ch;
}

.forwp-drive-intro-card {
	background: #fafafa;
	border: 1px dashed #c3c4c7;
	border-radius: 8px;
	margin-bottom: 8px;
	padding: 16px 20px;
}

.forwp-drive-intro-card__title {
	font-size: 1.1rem;
	font-weight: 600;
	margin: 0 0 12px;
}

.forwp-drive-intro-card__text {
	color: #2c3338;
	font-size: 14px;
	line-height: 1.55;
	margin: 0 0 12px;
	max-width: 72ch;
}

.forwp-drive-intro-card__cta {
	color: #1d2327;
	font-size: 14px;
	font-weight: 600;
	margin: 0;
	max-width: 72ch;
}

.forwp-drive-setup-hint {
	display: block;
	margin: 0 0 16px;
	max-width: none;
	padding: 12px 16px;
}

.forwp-drive-setup-hint .forwp-drive-setup-steps__title {
	margin: 0 0 8px;
}

.forwp-drive-setup-hint .forwp-drive-steps {
	margin-bottom: 8px;
}

.forwp-drive-setup-hint .forwp-drive-steps li:last-child {
	margin-bottom: 0;
}

.forwp-drive-provider-detail-head {
	align-items: center;
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: space-between;
	margin-bottom: 16px;
}

.forwp-drive-provider-detail-head__title {
	margin: 0;
}

.forwp-drive-google-layout {
	margin-bottom: 12px;
}

.forwp-drive-google-row {
	display: grid;
	gap: 22px;
	margin-bottom: 0;
}

.forwp-drive-google-row--two {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}

@media (max-width: 782px) {
	.forwp-drive-google-row--two {
		grid-template-columns: 1fr;
	}
}

.forwp-drive-google-row--status-folders {
	align-items: stretch;
}

.forwp-drive-admin-panel--embedded {
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	padding: 18px 20px 22px;
	background: #fcfcfc;
	display: flex;
	flex-direction: column;
	gap: 22px;
}

.forwp-drive-admin-panel--embedded .forwp-drive-panel--nested {
	background: #fff;
	border: 1px solid #ececec;
	border-radius: 8px;
	margin: 0;
	max-width: none;
	padding: 16px 18px;
}

.forwp-drive-admin-panel--embedded .forwp-drive-google-row .forwp-drive-panel--nested {
	height: 100%;
	box-sizing: border-box;
}

.forwp-drive-panel--compact h2 {
	font-size: 0.95rem;
	margin: 0 0 8px;
}

.forwp-drive-panel--compact .form-table th {
	width: 110px;
	padding: 6px 10px 6px 0;
	font-size: 12px;
}

.forwp-drive-panel--compact .form-table td {
	padding: 6px 0;
	font-size: 13px;
}

.forwp-drive-panel--compact .description {
	font-size: 12px;
	margin-top: 4px;
}

.forwp-drive-connection-line {
	margin: 0 0 8px;
	min-height: 2.6em;
}

.forwp-drive-inline-actions {
	margin: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.forwp-drive-inline-actions a.button.disabled,
.forwp-drive-inline-actions a.button[aria-disabled='true'] {
	pointer-events: none;
	opacity: 0.55;
	cursor: not-allowed;
	box-shadow: none;
}

.forwp-drive-oauth-row .forwp-drive-oauth-desc {
	margin: 0 0 8px;
}

.forwp-drive-dev-redirect-panel.is-inactive .forwp-drive-dev-redirect-fields {
	opacity: 0.55;
}

.forwp-drive-dev-redirect-locked {
	color: #646970;
	font-style: italic;
	margin: 0 0 10px;
}

.forwp-drive-oauth-inline {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	align-items: center;
}

.forwp-drive-oauth-inline input.large-text {
	flex: 1 1 220px;
	min-width: 0;
}

.forwp-drive-oauth-inline__btns {
	display: inline-flex;
	flex-wrap: wrap;
	gap: 6px;
	align-items: center;
}

.forwp-drive-preview__caption--inline {
	margin: 0 0 8px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	font-size: 11px;
	font-weight: 600;
	color: #646970;
}

.forwp-drive-preview__frame--compact {
	min-height: 0;
	flex: none;
}

.forwp-drive-preview__frame--compact .forwp-drive-preview__chrome {
	padding: 8px 10px;
}

.forwp-drive-preview__frame--compact .forwp-drive-preview__card {
	padding: 10px 12px 12px;
}

.forwp-drive-panel--status .forwp-drive-status--drive-actions {
	margin-top: 10px;
}

.forwp-drive-panel--status .forwp-drive-status--drive-actions.forwp-drive-status--visible {
	display: block;
}

.forwp-drive-preview__caption {
	color: #646970;
	flex-shrink: 0;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	margin: 0 0 10px;
	text-transform: uppercase;
}

.forwp-drive-preview__frame {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 8px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
	display: flex;
	flex: 1;
	flex-direction: column;
	min-height: 240px;
	overflow: hidden;
}

.forwp-drive-preview__chrome {
	align-items: center;
	background: linear-gradient(#f6f7f7, #f0f0f1);
	border-bottom: 1px solid #dcdcde;
	display: flex;
	flex-shrink: 0;
	gap: 6px;
	padding: 10px 12px;
}

.forwp-drive-preview__dot {
	background: #ddd;
	border-radius: 50%;
	height: 10px;
	width: 10px;
}

.forwp-drive-preview__dot:first-child {
	background: #ff6b6b;
}

.forwp-drive-preview__dot:nth-child(2) {
	background: #ffd43b;
}

.forwp-drive-preview__dot:nth-child(3) {
	background: #69db7c;
}

.forwp-drive-preview__chrome-label {
	color: #50575e;
	font-size: 12px;
	font-weight: 600;
	margin-left: auto;
}

.forwp-drive-preview__card {
	flex: 1 1 auto;
	padding: 14px 16px 16px;
}

.forwp-drive-preview__hint {
	margin: 0;
}

.forwp-drive-folder-ids--card {
	margin-top: 0;
	margin-bottom: 10px;
	padding-bottom: 10px;
	border-bottom: 1px solid #f0f0f1;
}

.forwp-drive-registry-title {
	margin-top: 28px;
}

.forwp-drive-registry-hint {
	margin-bottom: 14px !important;
	margin-top: -4px;
}

.forwp-drive-provider-grid {
	display: grid;
	gap: 14px;
	grid-template-columns: repeat(auto-fill, minmax(260px, 1fr));
}

.forwp-drive-provider-card-wrap {
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 8px;
	cursor: pointer;
	outline: none;
	padding: 12px 14px 10px;
	transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.forwp-drive-provider-card-wrap:hover {
	border-color: #c3c4c7;
}

.forwp-drive-provider-card-wrap:focus-visible {
	box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--wp-admin-theme-color, #3858e9);
}

.forwp-drive-provider-card-wrap.is-selected {
	border-color: var(--wp-admin-theme-color, #3858e9);
	box-shadow: 0 0 0 1px var(--wp-admin-theme-color, #3858e9);
}

.forwp-drive-provider-card-head {
	align-items: flex-start;
	display: flex;
	gap: 12px;
	justify-content: space-between;
}

.forwp-drive-provider-label {
	font-size: 14px;
	font-weight: 600;
}

.forwp-drive-provider-slug {
	font-size: 12px;
	margin-top: 4px;
}

.forwp-drive-provider-slug code {
	background: transparent;
	color: #646970;
	font-size: 11px;
	padding: 0;
}

.forwp-drive-provider-status {
	border-top: 1px solid #f0f0f1;
	color: #50575e;
	font-size: 11.5px;
	line-height: 1.3;
	margin: 10px 0 0;
	padding-top: 8px;
}

.forwp-drive-badge {
	border-radius: 999px;
	display: inline-block;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: 0.05em;
	padding: 3px 7px;
	text-transform: uppercase;
	white-space: nowrap;
}

.forwp-drive-badge--live {
	background: #e7f5ee;
	color: #1e4620;
}

.forwp-drive-badge--planned {
	background: #f0f0f1;
	color: #50575e;
}

.forwp-drive-planned-detail {
	margin-bottom: 16px;
}

.forwp-drive-docs-layout__main {
	max-width: 820px;
}

.forwp-drive-docs-intro {
	margin-bottom: 16px;
}

.forwp-drive-docs-intro .forwp-drive-admin-muted {
	margin: 0;
}

.forwp-drive-accordion {
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.forwp-drive-accordion__item {
	background: #fff;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	overflow: hidden;
}

.forwp-drive-accordion__item--nested {
	background: #f6f7f7;
	border-color: #e0e0e0;
	margin-top: 12px;
}

.forwp-drive-accordion__summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	flex-wrap: wrap;
	gap: 6px 12px;
	list-style: none;
	padding: 14px 16px;
	user-select: none;
}

.forwp-drive-accordion__summary::-webkit-details-marker {
	display: none;
}

.forwp-drive-accordion__summary::before {
	color: #50575e;
	content: "▸";
	display: inline-block;
	flex-shrink: 0;
	font-size: 12px;
	line-height: 1;
	margin-right: 4px;
	transition: transform 0.15s ease;
}

.forwp-drive-accordion__item[open] > .forwp-drive-accordion__summary::before {
	transform: rotate(90deg);
}

.forwp-drive-accordion__title {
	color: #1d2327;
	font-size: 14px;
	font-weight: 600;
}

.forwp-drive-accordion__hint {
	color: #646970;
	font-size: 12px;
	font-weight: 400;
}

.forwp-drive-accordion__panel {
	border-top: 1px solid #f0f0f1;
	padding: 14px 16px 16px;
}

.forwp-drive-accordion__panel .forwp-drive-steps {
	margin-top: 0;
}

.forwp-drive-panel--flat {
	margin-bottom: 20px;
}

.forwp-drive-cli-snippet {
	background: #f6f7f7;
	border: 1px solid #dcdcde;
	border-radius: 6px;
	font-size: 13px;
	overflow-x: auto;
	padding: 12px 16px;
}

.forwp-drive-admin-shell .forwp-drive-status {
	display: none;
}

.forwp-drive-admin-shell .forwp-drive-status.forwp-drive-status--visible {
	display: block;
	margin: 12px 0 0;
	padding: 10px 14px;
	border: 1px solid #c3c4c7;
	border-left-width: 4px;
	border-radius: 4px;
	background: #fff;
	font-size: 13px;
	line-height: 1.5;
}

.forwp-drive-admin-shell .forwp-drive-status--success.forwp-drive-status--visible {
	border-left-color: #00a32a;
	background: #edfaef;
	color: #1e4620;
}

.forwp-drive-admin-shell .forwp-drive-status--error.forwp-drive-status--visible {
	border-left-color: #d63638;
	background: #fcf0f1;
	color: #8a2424;
}

.forwp-drive-admin-shell .forwp-drive-status--pending.forwp-drive-status--visible {
	border-left-color: #2271b1;
	background: #f0f6fc;
	color: #1d2327;
}
