:root {
	--fytara-portal-accent: #e50914;
	--fytara-portal-bg: #f4f5f7;
	--fytara-portal-border: #e2e4e8;
	--fytara-portal-text: #17181c;
	--fytara-portal-muted: #70747d;
}

* {
	box-sizing: border-box;
}

html,
body.fytara-portal-body {
	margin: 0;
	min-height: 100%;
}

body.fytara-portal-body {
	background: var(--fytara-portal-bg);
	color: var(--fytara-portal-text);
	font-family: Inter, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

.fytara-portal-body a {
	color: inherit;
}

.fytara-portal-login {
	align-items: center;
	background:
		radial-gradient(circle at 15% 10%, rgba(229, 9, 20, 0.22), transparent 34%),
		radial-gradient(circle at 90% 90%, rgba(65, 83, 255, 0.16), transparent 36%),
		#090a0d;
	display: flex;
	justify-content: center;
	min-height: 100vh;
	padding: 24px;
}

.fytara-portal-login > section {
	background: #fff;
	border-radius: 18px;
	box-shadow: 0 28px 80px rgba(0, 0, 0, 0.45);
	max-width: 460px;
	padding: 38px;
	width: 100%;
}

.fytara-portal-login-logo {
	color: var(--fytara-portal-accent);
	font-size: 27px;
	font-weight: 900;
	letter-spacing: 0.08em;
	margin-bottom: 24px;
}

.fytara-portal-login > section > small {
	color: var(--fytara-portal-muted);
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.14em;
}

.fytara-portal-login h1 {
	font-size: 30px;
	letter-spacing: -0.04em;
	line-height: 1.12;
	margin: 8px 0 10px;
}

.fytara-portal-login p {
	color: var(--fytara-portal-muted);
	font-size: 14px;
	line-height: 1.6;
	margin: 0 0 24px;
}

.fytara-portal-login form {
	display: grid;
	gap: 15px;
}

.fytara-portal-login label {
	color: #3e4249;
	display: grid;
	font-size: 12px;
	font-weight: 700;
	gap: 7px;
}

.fytara-portal-login input[type="text"],
.fytara-portal-login input[type="password"] {
	background: #f7f7f8;
	border: 1px solid #d9dce1;
	border-radius: 9px;
	font: inherit;
	font-size: 15px;
	outline: none;
	padding: 13px 14px;
	width: 100%;
}

.fytara-portal-login input:focus {
	border-color: var(--fytara-portal-accent);
	box-shadow: 0 0 0 3px rgba(229, 9, 20, 0.1);
}

.fytara-portal-login .fytara-portal-remember {
	align-items: center;
	display: flex;
	font-weight: 500;
	gap: 7px;
}

.fytara-portal-login button,
.fytara-portal-login-button {
	background: var(--fytara-portal-accent);
	border: 0;
	border-radius: 9px;
	color: #fff !important;
	cursor: pointer;
	display: block;
	font-size: 14px;
	font-weight: 800;
	padding: 14px;
	text-align: center;
	text-decoration: none;
}

.fytara-portal-back {
	display: block;
	font-size: 13px;
	margin-top: 15px;
	text-align: center;
}

.fytara-portal-app {
	display: flex;
	min-height: 100vh;
}

.fytara-portal-sidebar {
	background: #15161a;
	color: #fff;
	display: flex;
	flex: 0 0 230px;
	flex-direction: column;
	min-height: 100vh;
	padding: 26px 18px 20px;
	position: sticky;
	top: 0;
}

.fytara-portal-logo {
	color: #fff !important;
	font-size: 22px;
	font-weight: 900;
	letter-spacing: 0.08em;
	padding: 0 12px;
	text-decoration: none;
}

.fytara-portal-role {
	color: #8e929b;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.13em;
	margin: 6px 12px 28px;
	text-transform: uppercase;
}

.fytara-portal-sidebar nav {
	display: grid;
	gap: 5px;
}

.fytara-portal-sidebar nav a {
	align-items: center;
	border-radius: 9px;
	color: #aeb1b8;
	display: flex;
	font-size: 13px;
	font-weight: 650;
	gap: 11px;
	padding: 11px 12px;
	text-decoration: none;
}

.fytara-portal-sidebar nav a:hover,
.fytara-portal-sidebar nav a.active {
	background: #282a30;
	color: #fff;
}

.fytara-portal-sidebar nav a.active {
	box-shadow: inset 3px 0 var(--fytara-portal-accent);
}

.fytara-portal-sidebar nav i {
	font-size: 15px;
	font-style: normal;
	text-align: center;
	width: 18px;
}

.fytara-portal-sidebar-bottom {
	margin-top: auto;
	padding: 22px 12px 0;
}

.fytara-portal-sidebar-bottom a {
	color: #b8bbc2;
	font-size: 12px;
	text-decoration: none;
}

.fytara-portal-main {
	flex: 1;
	min-width: 0;
}

.fytara-portal-topbar {
	align-items: center;
	background: #fff;
	border-bottom: 1px solid var(--fytara-portal-border);
	display: flex;
	height: 72px;
	justify-content: space-between;
	padding: 0 30px;
	position: sticky;
	top: 0;
	z-index: 20;
}

.fytara-portal-topbar > div:first-child {
	display: grid;
	gap: 2px;
}

.fytara-portal-topbar small {
	color: var(--fytara-portal-muted);
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.1em;
	text-transform: uppercase;
}

.fytara-portal-topbar strong {
	font-size: 16px;
}

.fytara-portal-user {
	align-items: center;
	display: flex;
	font-size: 12px;
	gap: 14px;
}

.fytara-portal-user span {
	font-weight: 700;
}

.fytara-portal-user a {
	border: 1px solid var(--fytara-portal-border);
	border-radius: 7px;
	padding: 7px 10px;
	text-decoration: none;
}

.fytara-portal-content {
	margin: 0 auto;
	max-width: 1480px;
	padding: 26px 30px 50px;
}

.fytara-portal-hero {
	align-items: center;
	background:
		radial-gradient(circle at 88% 10%, rgba(229, 9, 20, 0.36), transparent 35%),
		linear-gradient(135deg, #141519, #25262c);
	border-bottom: 4px solid var(--fytara-portal-accent);
	border-radius: 15px;
	color: #fff;
	display: flex;
	justify-content: space-between;
	margin-bottom: 18px;
	padding: 30px 34px;
}

.fytara-portal-hero small {
	color: #ffb4b8;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: 0.11em;
}

.fytara-portal-hero small b {
	background: #33353c;
	border-radius: 999px;
	color: #fff;
	margin-left: 6px;
	padding: 6px 9px;
}

.fytara-portal-hero h1 {
	font-size: 34px;
	letter-spacing: -0.04em;
	margin: 18px 0 7px;
}

.fytara-portal-hero p {
	color: #d3d5d9;
	font-size: 14px;
	margin: 0;
}

.fytara-portal-primary {
	background: var(--fytara-portal-accent);
	border: 1px solid var(--fytara-portal-accent);
	border-radius: 8px;
	color: #fff !important;
	cursor: pointer;
	display: inline-block;
	font-size: 12px;
	font-weight: 800;
	padding: 11px 15px;
	text-decoration: none;
}

.fytara-portal-health {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin: 18px 0;
}

.fytara-portal-health span {
	align-items: center;
	background: #fff;
	border: 1px solid var(--fytara-portal-border);
	border-radius: 999px;
	display: flex;
	font-size: 11px;
	gap: 7px;
	padding: 8px 12px;
}

.fytara-portal-health i,
.fytara-portal-connection > i {
	background: #c7c9cd;
	border-radius: 50%;
	height: 9px;
	width: 9px;
}

.fytara-portal-health span.on i,
.fytara-portal-connection > i.on {
	background: #13ae4b;
	box-shadow: 0 0 0 4px rgba(19, 174, 75, 0.1);
}

.fytara-portal-health span.off i {
	background: #d44242;
}

.fytara-portal-stats {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	margin-bottom: 20px;
}

.fytara-portal-stats a {
	background: #fff;
	border: 1px solid var(--fytara-portal-border);
	border-radius: 12px;
	box-shadow: 0 2px 4px rgba(19, 21, 26, 0.03);
	display: flex;
	flex-direction: column;
	min-height: 142px;
	padding: 20px;
	text-decoration: none;
}

.fytara-portal-stats small {
	color: #555a64;
	font-size: 10px;
	font-weight: 800;
}

.fytara-portal-stats strong {
	font-size: 34px;
	line-height: 1;
	margin: 16px 0 auto;
}

.fytara-portal-stats strong.date {
	font-size: 26px;
}

.fytara-portal-stats em {
	color: var(--fytara-portal-muted);
	font-size: 11px;
	font-style: normal;
}

.fytara-portal-dashboard-grid {
	display: grid;
	gap: 20px;
	grid-template-columns: minmax(0, 2fr) minmax(280px, 0.7fr);
}

.fytara-portal-panel {
	background: #fff;
	border: 1px solid var(--fytara-portal-border);
	border-radius: 12px;
	box-shadow: 0 2px 4px rgba(19, 21, 26, 0.03);
	margin-bottom: 18px;
	padding: 22px;
}

.fytara-portal-panel h2 {
	font-size: 17px;
	margin: 0 0 7px;
}

.fytara-portal-panel > p,
.fytara-portal-panel-title p {
	color: var(--fytara-portal-muted);
	font-size: 12px;
	line-height: 1.55;
	margin: 0;
}

.fytara-portal-panel hr {
	border: 0;
	border-top: 1px solid var(--fytara-portal-border);
	margin: 30px 0;
}

.fytara-portal-panel-title,
.fytara-portal-page-heading {
	align-items: center;
	display: flex;
	justify-content: space-between;
}

.fytara-portal-panel-title {
	margin-bottom: 18px;
}

.fytara-portal-panel-title a {
	color: var(--fytara-portal-accent);
	font-size: 12px;
	font-weight: 700;
	text-decoration: none;
}

.fytara-portal-page-heading {
	margin-bottom: 20px;
}

.fytara-portal-page-heading h1 {
	font-size: 27px;
	letter-spacing: -0.035em;
	margin: 0 0 6px;
}

.fytara-portal-page-heading p {
	color: var(--fytara-portal-muted);
	font-size: 13px;
	margin: 0;
}

.fytara-portal-table-wrap {
	overflow-x: auto;
}

.fytara-portal-panel table {
	border-collapse: collapse;
	min-width: 620px;
	width: 100%;
}

.fytara-portal-panel th,
.fytara-portal-panel td {
	border-bottom: 1px solid #eceef0;
	font-size: 12px;
	padding: 12px 10px;
	text-align: left;
	vertical-align: top;
}

.fytara-portal-panel th {
	color: #666b74;
	font-size: 10px;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.fytara-portal-panel tbody tr:last-child td {
	border-bottom: 0;
}

.fytara-portal-panel td small {
	color: var(--fytara-portal-muted);
	display: block;
	font-size: 10px;
	margin-top: 4px;
}

.fytara-portal-badge,
.fytara-portal-status {
	background: #e9f6ee;
	border-radius: 999px;
	color: #147139;
	display: inline-block;
	font-size: 9px;
	font-weight: 800;
	padding: 5px 7px;
}

.fytara-portal-badge.viral {
	background: var(--fytara-portal-accent);
	color: #fff;
}

.fytara-portal-status.expired,
.fytara-portal-status.disabled {
	background: #f7e9e9;
	color: #a82828;
}

.fytara-portal-status.pending {
	background: #e9f1fb;
	color: #215f9b;
}

.fytara-portal-quick > p {
	margin-bottom: 10px;
}

.fytara-portal-quick form {
	display: grid;
	gap: 0;
}

.fytara-portal-quick form > label {
	align-items: center;
	border-bottom: 1px solid #eceef0;
	display: flex;
	justify-content: space-between;
	padding: 13px 0;
}

.fytara-portal-quick label span {
	display: grid;
	gap: 3px;
}

.fytara-portal-quick label b {
	font-size: 12px;
}

.fytara-portal-quick label small {
	color: var(--fytara-portal-muted);
	font-size: 10px;
}

.fytara-portal-quick .fytara-portal-primary {
	margin-top: 16px;
}

.fytara-portal-notice {
	border-radius: 9px;
	font-size: 13px;
	font-weight: 650;
	margin-bottom: 18px;
	padding: 13px 15px;
}

.fytara-portal-notice.success {
	background: #e2f7ea;
	color: #146d35;
}

.fytara-portal-notice.error {
	background: #fae8e8;
	color: #a62525;
}

.fytara-portal-notice.warning {
	background: #fff3d8;
	color: #8a5b00;
}

.fytara-portal-details summary {
	cursor: pointer;
	font-size: 14px;
	font-weight: 800;
}

.fytara-portal-details[open] > summary {
	border-bottom: 1px solid var(--fytara-portal-border);
	margin-bottom: 20px;
	padding-bottom: 15px;
}

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

.fytara-portal-form-grid.three {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.fytara-portal-form-grid label,
.fytara-portal-settings label {
	color: #3f434b;
	display: grid;
	font-size: 11px;
	font-weight: 750;
	gap: 7px;
}

.fytara-portal-form-grid .wide {
	grid-column: 1 / -1;
}

.fytara-portal-form-grid input,
.fytara-portal-form-grid select,
.fytara-portal-form-grid textarea,
.fytara-portal-settings input,
.fytara-portal-settings select,
.fytara-portal-settings textarea {
	background: #fff;
	border: 1px solid #d8dbe0;
	border-radius: 7px;
	font: inherit;
	font-size: 13px;
	max-width: 100%;
	padding: 10px 11px;
	width: 100%;
}

.fytara-portal-settings input[type="color"] {
	height: 43px;
	padding: 3px;
}

.fytara-portal-form-grid input:focus,
.fytara-portal-form-grid select:focus,
.fytara-portal-form-grid textarea:focus,
.fytara-portal-settings input:focus,
.fytara-portal-settings textarea:focus {
	border-color: var(--fytara-portal-accent);
	outline: none;
}

.fytara-portal-check {
	align-items: center;
	display: flex !important;
	gap: 8px;
}

.fytara-portal-check input {
	flex: 0 0 auto;
	width: auto;
}

.fytara-portal-form-actions {
	display: flex;
	gap: 8px;
}

.fytara-portal-search,
.fytara-portal-inline-create {
	display: flex;
	gap: 8px;
}

.fytara-portal-search {
	margin-bottom: 15px;
}

.fytara-portal-search input,
.fytara-portal-inline-create input {
	background: #fff;
	border: 1px solid #d8dbe0;
	border-radius: 8px;
	font: inherit;
	font-size: 13px;
	max-width: 380px;
	padding: 10px 12px;
	width: 100%;
}

.fytara-portal-search button,
.fytara-portal-row-form button,
.fytara-portal-account-form button,
.fytara-portal-mini-form button {
	background: #fff;
	border: 1px solid #cfd2d8;
	border-radius: 7px;
	cursor: pointer;
	font-size: 11px;
	font-weight: 700;
	padding: 8px 10px;
}

.fytara-portal-film {
	padding: 0;
}

.fytara-portal-film > summary {
	align-items: center;
	cursor: pointer;
	display: flex;
	gap: 14px;
	list-style: none;
	padding: 14px;
}

.fytara-portal-film > summary::-webkit-details-marker {
	display: none;
}

.fytara-portal-film > summary > span:nth-child(2) {
	display: grid;
	flex: 1;
	gap: 5px;
	min-width: 0;
}

.fytara-portal-film > summary strong {
	font-size: 13px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fytara-portal-film > summary small {
	color: var(--fytara-portal-muted);
	font-size: 10px;
}

.fytara-portal-film > summary > b {
	color: var(--fytara-portal-accent);
	font-size: 11px;
}

.fytara-portal-film-thumb {
	align-items: center;
	background: #131418;
	border-radius: 7px;
	color: #fff;
	display: flex;
	height: 55px;
	justify-content: center;
	overflow: hidden;
	width: 94px;
}

.fytara-portal-film-thumb img {
	height: 100%;
	object-fit: cover;
	width: 100%;
}

.fytara-portal-film[open] > summary {
	border-bottom: 1px solid var(--fytara-portal-border);
}

.fytara-portal-film > form {
	margin: 20px;
}

.fytara-portal-danger-form button {
	background: transparent;
	border: 0;
	color: #c32d2d;
	cursor: pointer;
	font-size: 11px;
	font-weight: 750;
	padding: 0;
}

.fytara-portal-danger-form.inline {
	display: inline-block;
	margin-left: 8px;
}

.fytara-portal-row-form,
.fytara-portal-account-form {
	align-items: center;
	display: flex;
	gap: 6px;
}

.fytara-portal-row-form input,
.fytara-portal-account-form input,
.fytara-portal-account-form select {
	border: 1px solid #d8dbe0;
	border-radius: 6px;
	font: inherit;
	font-size: 11px;
	padding: 8px;
}

.fytara-portal-account-form {
	align-items: stretch;
	flex-direction: column;
	min-width: 185px;
}

.fytara-portal-mini-form {
	display: inline-block;
}

.fytara-portal-mini-form button {
	color: #2d5c95;
	padding: 5px 7px;
}

.fytara-portal-pagination {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	justify-content: center;
	padding: 8px 0 20px;
}

.fytara-portal-pagination .page-numbers {
	background: #fff;
	border: 1px solid var(--fytara-portal-border);
	border-radius: 7px;
	font-size: 11px;
	padding: 8px 11px;
	text-decoration: none;
}

.fytara-portal-pagination .current {
	background: var(--fytara-portal-accent);
	border-color: var(--fytara-portal-accent);
	color: #fff;
}

.fytara-portal-connection {
	align-items: flex-start;
	display: flex;
	gap: 13px;
	margin-bottom: 20px;
}

.fytara-portal-connection > i {
	flex: 0 0 auto;
	margin-top: 5px;
}

.fytara-portal-connection h2 {
	margin-bottom: 6px;
}

.fytara-portal-connection p {
	line-height: 1.7;
}

.fytara-portal-steps {
	color: #4f535b;
	font-size: 13px;
	line-height: 1.9;
	margin-bottom: 0;
}

.fytara-portal-banner-preview {
	background: #f4f5f7;
	border-radius: 9px;
	margin: 16px 0;
	max-width: 680px;
	padding: 12px;
}

.fytara-portal-banner-preview img {
	border-radius: 7px;
	display: block;
	max-height: 260px;
	max-width: 100%;
}

.fytara-portal-banner-preview label {
	align-items: center;
	display: flex;
	font-size: 11px;
	gap: 7px;
	margin-top: 10px;
}

.fytara-portal-link-card {
	background: linear-gradient(135deg, #17181c, #292b31);
	color: #fff;
}

.fytara-portal-link-card small {
	color: #ffadb1;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: 0.1em;
}

.fytara-portal-link-card strong {
	display: block;
	font-size: 18px;
	margin: 12px 0 7px;
	word-break: break-all;
}

.fytara-portal-link-card p {
	color: #c4c6cb;
}

@media (max-width: 1100px) {
	.fytara-portal-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.fytara-portal-dashboard-grid {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 820px) {
	.fytara-portal-app {
		display: block;
	}

	.fytara-portal-sidebar {
		display: block;
		min-height: 0;
		overflow-x: auto;
		padding: 14px;
		position: static;
		white-space: nowrap;
	}

	.fytara-portal-logo {
		display: inline-block;
		font-size: 17px;
		padding: 8px;
	}

	.fytara-portal-role,
	.fytara-portal-sidebar-bottom {
		display: none;
	}

	.fytara-portal-sidebar nav {
		display: inline-flex;
		gap: 4px;
		margin-left: 14px;
		vertical-align: middle;
	}

	.fytara-portal-sidebar nav a {
		padding: 9px 10px;
	}

	.fytara-portal-sidebar nav a.active {
		box-shadow: inset 0 -3px var(--fytara-portal-accent);
	}

	.fytara-portal-sidebar nav i {
		display: none;
	}

	.fytara-portal-topbar {
		height: 64px;
		padding: 0 18px;
		position: static;
	}

	.fytara-portal-content {
		padding: 20px 16px 40px;
	}

	.fytara-portal-hero {
		padding: 25px;
	}

	.fytara-portal-form-grid.three {
		grid-template-columns: 1fr;
	}
}

@media (max-width: 600px) {
	.fytara-portal-login {
		padding: 14px;
	}

	.fytara-portal-login > section {
		border-radius: 14px;
		padding: 28px 22px;
	}

	.fytara-portal-login h1 {
		font-size: 26px;
	}

	.fytara-portal-sidebar nav a span {
		font-size: 11px;
	}

	.fytara-portal-user span {
		display: none;
	}

	.fytara-portal-topbar strong {
		font-size: 14px;
	}

	.fytara-portal-hero {
		align-items: flex-start;
		display: grid;
		gap: 20px;
	}

	.fytara-portal-hero h1 {
		font-size: 29px;
	}

	.fytara-portal-stats {
		grid-template-columns: 1fr;
	}

	.fytara-portal-stats a {
		min-height: 125px;
	}

	.fytara-portal-form-grid {
		grid-template-columns: 1fr;
	}

	.fytara-portal-form-grid .wide {
		grid-column: auto;
	}

	.fytara-portal-search,
	.fytara-portal-inline-create {
		align-items: stretch;
		flex-direction: column;
	}

	.fytara-portal-search input,
	.fytara-portal-inline-create input {
		max-width: none;
	}

	.fytara-portal-film-thumb {
		height: 47px;
		width: 78px;
	}

	.fytara-portal-panel {
		padding: 17px;
	}
}
