/**
 * Obsidian Core — Frontend CSS (plugin layer, complements theme)
 * Version: 5.1.0
 *
 * Adds styling for plugin-rendered UI: SSO buttons, dashboard widgets, forms,
 * shortcodes, etc. Inherits the theme's CSS variables.
 */

/* SSO button — themed like the rest of the UI */
.obcn-sso-button {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-family: 'Rajdhani', sans-serif;
	font-weight: 600;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--obcn-electric-cyan);
	background: linear-gradient(135deg, var(--obcn-obsidian-black), var(--obcn-midnight-blue));
	border: 1px solid var(--obcn-electric-cyan);
	padding: 10px 20px;
	border-radius: var(--obcn-radius);
	text-decoration: none;
	cursor: pointer;
	transition: var(--obcn-transition);
	text-shadow: 0 0 10px var(--obcn-accent-glow);
}

.obcn-sso-button:hover {
	border-width: 2px;
	background: linear-gradient(135deg, var(--obcn-midnight-blue), var(--obcn-deep-surface));
	box-shadow: 0 0 24px var(--obcn-accent-glow-soft);
	color: var(--obcn-pure-white);
}

.obcn-sso-large { padding: 16px 40px; font-size: 16px; }
.obcn-sso-small { padding: 6px 14px; font-size: 12px; }

.obcn-sso-icon { font-size: 18px; display: inline-block; }

/* SSO button animation — traveling border */
@keyframes obcn-sso-border-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(0, 240, 255, 0); }
	50% { box-shadow: 0 0 0 4px rgba(0, 240, 255, 0.1); }
}
.obcn-sso-large { animation: obcn-sso-border-pulse 2.5s ease-in-out infinite; }

/* Dashboard widgets */
.obcn-dash-widget {
	background: var(--obcn-midnight-blue);
	border: 1px solid rgba(0, 240, 255, 0.2);
	border-radius: var(--obcn-radius);
	padding: 20px;
	margin-bottom: 20px;
}
.obcn-dash-widget h3 {
	margin: 0 0 16px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--obcn-electric-cyan);
	font-size: 18px;
	color: var(--obcn-electric-cyan);
}

.obcn-dash-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}
@media (max-width: 1024px) {
	.obcn-dash-grid { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 640px) {
	.obcn-dash-grid { grid-template-columns: 1fr; }
}

/* Progress bars (skill queue, skill plans, etc.) */
.obcn-progress {
	background: var(--obcn-deep-surface);
	border: 1px solid rgba(0, 240, 255, 0.2);
	border-radius: 2px;
	height: 8px;
	overflow: hidden;
	margin: 8px 0;
}
.obcn-progress-bar {
	background: linear-gradient(90deg, var(--obcn-electric-cyan), var(--obcn-deep-purple));
	height: 100%;
	transition: width 0.6s ease;
	box-shadow: 0 0 8px var(--obcn-accent-glow);
}

/* Doctrine fits */
.obcn-fit-card { padding: 16px; }
.obcn-fit-card h3 { margin: 0 0 8px; }
.obcn-fit-card h3 a { color: var(--obcn-electric-cyan); text-decoration: none; }
.obcn-fit-card h3 a:hover { text-shadow: 0 0 8px var(--obcn-accent-glow); }

.obcn-fit {
	background: var(--obcn-midnight-blue);
	border: 1px solid rgba(0, 240, 255, 0.2);
	border-radius: var(--obcn-radius);
	padding: 20px;
}
.obcn-fit-header h3 { margin: 0 0 16px; color: var(--obcn-pure-white); }
.obcn-fit-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px; }
.obcn-fit-slot h4 { font-size: 13px; text-transform: uppercase; letter-spacing: 0.1em; margin: 0 0 8px; color: var(--obcn-electric-cyan); }
.obcn-fit-slot ul { list-style: none; padding: 0; margin: 0; font-size: 13px; }
.obcn-fit-slot li { padding: 4px 0; border-bottom: 1px solid rgba(0, 240, 255, 0.05); }
.obcn-fit-mod { color: var(--obcn-light-text); }
.obcn-fit-charge { color: var(--obcn-dim-text); font-size: 12px; }
.obcn-fit-raw { margin-top: 16px; }
.obcn-fit-raw summary { cursor: pointer; color: var(--obcn-dim-text); }
.obcn-fit-raw pre {
	background: var(--obcn-deep-surface);
	border: 1px solid rgba(0, 240, 255, 0.2);
	border-radius: var(--obcn-radius);
	padding: 12px;
	font-family: var(--obcn-font-mono);
	font-size: 12px;
	overflow-x: auto;
}

/* PI colonies */
.obcn-pi-colony { padding: 16px; }
.obcn-pi-colony h3 { margin: 0 0 12px; display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 16px; }
.obcn-pi-colony h4 { margin: 12px 0 8px; font-size: 13px; text-transform: uppercase; }
.obcn-pi-colony ul { list-style: none; padding: 0; margin: 0; font-size: 13px; }
.obcn-pi-colony li { padding: 4px 0; }

/* SRP table */
.obcn-srp-table { font-size: 13px; }

/* Wormhole mapper — most styles in obcn-wormhole.css */

/* Buyback / Appraisal */
.obcn-woo-isk-price {
	background: linear-gradient(135deg, var(--obcn-midnight-blue), var(--obcn-deep-surface));
	border: 1px solid var(--obcn-electric-cyan);
}

/* Recovery mode admin notice */
.obcn-recovery-notice {
	background: rgba(245, 158, 11, 0.15);
	border: 1px solid var(--obcn-warning-amber);
	color: var(--obcn-warning-amber);
	padding: 12px 16px;
	border-radius: var(--obcn-radius);
	margin: 16px 0;
}

/* Forms in modals/popovers */
.obcn-form-select {
	width: 100%;
	background: var(--obcn-deep-surface);
	border: 1px solid rgba(0, 240, 255, 0.2);
	border-radius: var(--obcn-radius);
	padding: 10px 12px;
	color: var(--obcn-light-text);
	font-family: var(--obcn-font-body);
	font-size: 14px;
}

/* Details/summary blocks (doctrine fit raw, etc.) */
details summary {
	cursor: pointer;
	color: var(--obcn-dim-text);
	font-family: var(--obcn-font-heading);
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 4px 0;
}
details summary:hover { color: var(--obcn-electric-cyan); }

/* Toolbars */
.obcn-bp-toolbar, .obcn-pi-toolbar, .obcn-moon-toolbar {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 16px;
	gap: 8px;
}

/* Wiki list */
.obcn-wiki-recent-list {
	list-style: none;
	padding: 0;
}
.obcn-wiki-recent-list li {
	padding: 8px 0;
	border-bottom: 1px solid rgba(0, 240, 255, 0.1);
	display: flex;
	justify-content: space-between;
	align-items: center;
}

/* Admin dashboard widget ESI health */
#obcn_esi_health .inside { padding: 12px; }

/* Form-embedded status badges */
.obcn-badge { margin: 4px 0; }
