
:root {
	--sn-navy: #07528d;
	--sn-red: #af0010;
	--sn-ink: #15263d;
	--sn-muted: #6d7b8c;
}
body { background: #f3f6fb; color: var(--sn-ink); font-family: system-ui, -apple-system, "Segoe UI", sans-serif; }
.site-header { background: #fff; border-bottom: 1px solid #e6ebf3; }
.site-logo { width: 215px; max-width: 100%; height: auto; }
.hero { background: radial-gradient(circle at 90% 15%, #247bb4, transparent 38%), linear-gradient(115deg, #073a69, #0c5b96); color: white; border-radius: 0; }
.hero h1 { font-size: clamp(2.4rem, 5vw, 4.5rem); font-weight: 850; letter-spacing: -.05em; }
.card, .sn-panel { background: white; border: 1px solid #e8edf5; border-radius: 22px; box-shadow: 0 14px 45px rgba(19,49,84,.06); }
.btn { min-height: 44px; display: inline-flex; justify-content: center; align-items: center; gap: 8px; border-radius: 11px; font-weight: 650; padding: .55rem 1.1rem; }
.btn-sm { min-height: 38px; }
.btn-primary { --bs-btn-bg: var(--sn-navy); --bs-btn-border-color: var(--sn-navy); --bs-btn-hover-bg: #073d6b; --bs-btn-hover-border-color: #073d6b; }
.btn-danger { --bs-btn-bg: var(--sn-red); --bs-btn-border-color: var(--sn-red); }
.form-control, .form-select { min-height: 46px; border-radius: 11px; border-color: #dce4ef; }
textarea.form-control { min-height: 140px; }
.form-control:focus, .form-select:focus { border-color: #5d9bc7; box-shadow: 0 0 0 .2rem rgba(9,83,143,.12); }
.section-kicker { color: var(--sn-navy); font-size: .78rem; letter-spacing: .13em; font-weight: 800; text-transform: uppercase; }
.login-page { min-height: 100vh; display: grid; place-items: center; padding: 28px 14px; background: radial-gradient(circle at 15% 20%, #d9eaf9, transparent 35%), #f3f6fb; }
.login-box { width: min(100%, 460px); padding: clamp(26px, 5vw, 44px); }
.login-logo { width: 230px; max-width: 100%; }
.admin-top { background: #fff; border-bottom: 1px solid #e7edf5; }
.stat-card { padding: 23px; height: 100%; }
.stat-number { font-size: 2rem; font-weight: 850; line-height: 1.2; }
.status-pill { border-radius: 50px; padding: 7px 12px; font-size: .78rem; font-weight: 750; display: inline-block; }
.status-new { color: #07528d; background: #e5f2ff; }
.status-review { color: #9b6000; background: #fff1d2; }
.status-published { color: #187146; background: #e0f6ea; }
.status-rejected { color: #a52637; background: #fde8eb; }
.submission-card { padding: clamp(18px, 3vw, 28px); }
.submission-description { white-space: pre-wrap; overflow-wrap: anywhere; }
.file-preview { width: 180px; height: 130px; max-width: 100%; object-fit: cover; border-radius: 13px; background: #eef2f8; border: 1px solid #e3e9f2; }
.file-tile { border: 1px solid #e6ecf4; background: #fafcff; padding: 12px; border-radius: 14px; min-width: 0; }
.file-name { overflow-wrap: anywhere; }
.admin-actions .form-select { width: 185px; }
@media (max-width: 575px) { .admin-actions form { width: 100%; } .admin-actions .form-select { flex: 1; width: auto; } .admin-actions .btn { flex-shrink: 0; } }

/* ========================================
   HEADER - SUPER NOWA
======================================== */

.site-header {
	position: relative;
	background: #ffffff;
	padding: 20px 0;
	border-bottom: 1px solid #e9edf2;
	box-shadow: 0 4px 25px rgba(0, 0, 0, 0.025);
	z-index: 100;
}

.header-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
}

/* LOGO */

.header-logo {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	text-decoration: none;
}

.header-logo .site-logo {
	width: 220px;
	max-width: 100%;
	height: auto;
	display: block;
}

/* TEKST */

.header-info {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-left: auto;
}

.header-info-icon {
	width: 46px;
	height: 46px;
	border-radius: 14px;
	background: #f0f5fa;
	color: #07548f;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 22px;
	flex-shrink: 0;
}

.header-info-text {
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.header-info-text strong {
	font-size: 14px;
	font-weight: 800;
	color: #172b46;
}

.header-info-text span {
	font-size: 12px;
	color: #788597;
}

/* PRZYCISK */

.header-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 11px;
	padding: 14px 20px;
	min-height: 48px;
	border-radius: 12px;
	background: #ae0010;
	color: #ffffff;
	font-size: 13px;
	font-weight: 800;
	text-decoration: none;
	white-space: nowrap;
	transition: all 0.25s ease;
	box-shadow: 0 6px 18px rgba(174, 0, 16, 0.15);
}

.header-btn:hover {
	background: #89000d;
	color: #ffffff;
	transform: translateY(-2px);
	box-shadow: 0 9px 24px rgba(174, 0, 16, 0.22);
}

.header-btn .bi-arrow-up-right {
	font-size: 12px;
	opacity: 0.7;
}

/* RESPONSIVE */

@media (max-width: 767px) {

	.site-header {
		padding: 14px 0;
	}

	.header-inner {
		gap: 12px;
	}

	.header-logo .site-logo {
		width: 155px;
	}

	.header-btn {
		padding: 11px 13px;
		min-height: 42px;
		font-size: 12px;
		gap: 7px;
	}

	.header-btn .bi-arrow-up-right {
		display: none;
	}

}

@media (max-width: 390px) {

	.header-logo .site-logo {
		width: 130px;
	}

	.header-btn {
		padding: 10px;
	}

}

/* ========================================
   SUPER-NOWA - UPLOAD PROGRESS
======================================== */

.upload-modal {
	border: none;
	border-radius: 24px;
	overflow: hidden;
	box-shadow: 0 25px 80px rgba(0, 0, 0, 0.15);
}

.upload-modal-icon {
	width: 90px;
	height: 90px;
	margin: 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 26px;
	background: #edf5fc;
	color: #07548f;
	font-size: 42px;
}

.upload-modal-icon i {
	animation: uploadFloat 2s ease-in-out infinite;
}

.upload-modal-title {
	font-size: 24px;
	font-weight: 800;
	color: #172b46;
}

.upload-modal-description {
	font-size: 14px;
	color: #788597;
}

.upload-progress-percent {
	font-size: 46px;
	font-weight: 900;
	color: #07548f;
	letter-spacing: -2px;
}

.upload-progress {
	height: 13px;
	border-radius: 20px;
	background: #edf1f5;
	overflow: hidden;
}

.upload-progress .progress-bar {
	background: linear-gradient(90deg, #07548f, #087bc5);
	border-radius: 20px;
	transition: width 0.15s ease;
}

.upload-transfer-info {
	font-size: 13px;
	color: #788597;
	font-weight: 600;
}

.upload-modal-notice {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 15px;
	border-radius: 14px;
	background: #fff7e9;
	color: #94651d;
	text-align: left;
	font-size: 12px;
	line-height: 1.6;
}

.upload-modal-notice i {
	font-size: 18px;
	flex-shrink: 0;
}

@keyframes uploadFloat {

	0%, 100% {
		transform: translateY(0);
	}

	50% {
		transform: translateY(-8px);
	}

}