/*
 * ePMF – Kalendar aktivnosti
 * Zajednički stilovi za studentski prikaz i administraciju.
 * Uključiti jednom u glavni layout ili u odgovarajući modul.
 */
:root {
	--kalendar-plava: #2864a0;
	--kalendar-plava-tamna: #244c78;
	--kalendar-tekst: #273449;
	--kalendar-siva: #718096;
	--kalendar-pozadina: #f6f8fc;
	--kalendar-ivica: #e5eaf1;
}


/* ===== STUDENTSKI KALENDAR ===== */
/* =========================================
   KALENDAR AKTIVNOSTI
   ========================================= */
.kalendar-stranica {
	padding: 20px;
	color: #273449;
	font-family: inherit;
	background: #f6f8fc;
	min-height: 100%;
}

/* HERO */
.kalendar-hero {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	padding: 24px 28px;
	margin-bottom: 22px;
	color: #273449;
	background: #fff;
	border: 1px solid #e5eaf1;
	border-left: 5px solid #2864a0;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(30, 55, 90, .035);
}

.kalendar-hero-sadrzaj {
	display: flex;
	align-items: center;
	gap: 20px;
}

.kalendar-hero-ikona {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	flex-shrink: 0;
	color: #2864a0;
	font-size: 29px;
	background: #eaf2ff;
	border: 1px solid #d9e6f7;
	border-radius: 12px;
}

.kalendar-nadnaslov {
	margin-bottom: 6px;
	color: #6b7d95;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.8px;
}

.kalendar-hero-tekst h2 {
	margin: 0 0 7px;
	color: #244c78;
	font-size: 26px;
	font-weight: 650;
}

.kalendar-hero-tekst p {
	margin: 0;
	color: #718096;
	font-size: 13px;
	line-height: 1.6;
}

.kalendar-godina {
	min-width: 155px;
	padding: 13px 18px;
	text-align: center;
	background: #f4f7fb;
	border: 1px solid #e3eaf3;
	border-radius: 9px;
}

.kalendar-godina span {
	display: block;
	margin-bottom: 6px;
	color: #7b8ba1;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
}

.kalendar-godina strong {
	color: #244c78;
	font-size: 20px;
	font-weight: 700;
}

/* STATISTIKA */
.kalendar-statistika {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 16px;
	margin-bottom: 25px;
}

.kalendar-stat-kartica {
	display: flex;
	align-items: center;
	gap: 15px;
	min-width: 0;
	padding: 20px;
	background: #fff;
	border: 1px solid #e9edf5;
	border-radius: 12px;
	box-shadow: 0 3px 12px rgba(35, 55, 90, 0.035);
	transition: transform 0.2s, box-shadow 0.2s;
}

.kalendar-stat-kartica:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(35, 55, 90, 0.08);
}

.kalendar-stat-ikona {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	flex-shrink: 0;
	font-size: 21px;
	border-radius: 12px;
}

.stat-plava {
	color: #2863a8;
	background: #eaf2ff;
}

.stat-ljubicasta {
	color: #7954b5;
	background: #f1eaff;
}

.stat-narandzasta {
	color: #c27b24;
	background: #fff2df;
}

.stat-zelena {
	color: #24886a;
	background: #e3f7ef;
}

.kalendar-stat-kartica span {
	display: block;
	margin-bottom: 5px;
	color: #7a879a;
	font-size: 12px;
}

.kalendar-stat-kartica strong {
	display: block;
	color: #26364d;
	font-size: 25px;
	line-height: 1.2;
}

/* PRETRAGA */
.kalendar-kontrole {
	margin-bottom: 28px;
	padding: 20px;
	background: #fff;
	border: 1px solid #e9edf5;
	border-radius: 12px;
}

.kalendar-pretraga {
	position: relative;
	margin-bottom: 18px;
}

.kalendar-pretraga>i {
	position: absolute;
	top: 14px;
	left: 15px;
	color: #8290a5;
	font-size: 15px;
}

.kalendar-pretraga .form-control {
	height: 44px;
	padding: 10px 42px;
	color: #273449;
	background: #f8fafd;
	border: 1px solid #e3e9f2;
	border-radius: 8px;
	box-shadow: none;
}

.kalendar-pretraga .form-control:focus {
	background: #fff;
	border-color: #6a96ce;
	box-shadow: 0 0 0 3px rgba(61, 119, 186, 0.09);
}

.kalendar-pretraga button {
	position: absolute;
	top: 8px;
	right: 10px;
	padding: 5px 8px;
	color: #8794a7;
	background: transparent;
	border: 0;
}

.kalendar-filteri {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
}

.kalendar-filteri button {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 9px 14px;
	color: #637188;
	font-size: 12px;
	font-weight: 600;
	background: #fff;
	border: 1px solid #e5eaf2;
	border-radius: 7px;
	transition: all 0.2s;
}

.kalendar-filteri button:hover {
	color: #285d9b;
	border-color: #9bb8dc;
}

.kalendar-filteri button.filter-aktivan {
	color: #245a98;
	background: #edf4ff;
	border-color: #b9d1f1;
}

.filter-tacka {
	display: inline-block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.tacka-upis {
	background: #27866a;
}

.tacka-nastava {
	background: #7954b5;
}

.tacka-ispiti {
	background: #d58a2b;
}

.tacka-praznici {
	background: #dc6570;
}

/* NASLOV SEKCIJE */
.kalendar-sekcija-naslov {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	margin-bottom: 24px;
}

.kalendar-sekcija-naslov h3 {
	margin: 0 0 6px;
	color: #27364d;
	font-size: 21px;
	font-weight: 700;
}

.kalendar-sekcija-naslov p {
	margin: 0;
	color: #8995a7;
	font-size: 13px;
}

.kalendar-broj-rezultata {
	padding: 7px 12px;
	color: #506a8b;
	font-size: 12px;
	font-weight: 600;
	background: #edf2f9;
	border-radius: 7px;
}

/* TIMELINE */
.kalendar-timeline {
	position: relative;
}

.kalendar-dogadjaj {
	display: grid;
	grid-template-columns: 85px 25px minmax(0, 1fr);
	gap: 12px;
	align-items: stretch;
	margin-bottom: 20px;
}

.timeline-datum {
	display: flex;
	justify-content: center;
	padding-top: 20px;
}

.timeline-datum-kartica {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 72px;
	height: 88px;
	background: #fff;
	border: 1px solid #e7ecf4;
	border-radius: 11px;
	box-shadow: 0 3px 10px rgba(35, 55, 90, 0.035);
}

.datum-dan {
	color: #26374e;
	font-size: 27px;
	font-weight: 800;
	line-height: 1.1;
}

.datum-mesec {
	margin-top: 4px;
	color: #6d7c91;
	font-size: 12px;
	font-weight: 700;
	text-transform: uppercase;
}

.datum-godina {
	margin-top: 3px;
	color: #98a3b3;
	font-size: 10px;
}

/* VERTIKALNA LINIJA */
.timeline-linija {
	position: relative;
	display: flex;
	justify-content: center;
}

.timeline-linija:after {
	position: absolute;
	top: 0;
	bottom: -21px;
	left: 50%;
	width: 2px;
	content: "";
	background: #e2e9f3;
	transform: translateX(-50%);
}

.kalendar-dogadjaj:last-child .timeline-linija:after {
	display: none;
}

.timeline-tacka {
	position: relative;
	z-index: 1;
	display: block;
	width: 13px;
	height: 13px;
	margin-top: 56px;
	background: #fff;
	border: 3px solid #8ba5c8;
	border-radius: 50%;
	box-shadow: 0 0 0 4px #f6f8fc;
}

/* KARTICE DOGA\u0110AJA */
.timeline-sadrzaj {
	min-width: 0;
}

.dogadjaj-kartica {
	padding: 22px 24px;
	background: #fff;
	border: 1px solid #e8edf5;
	border-left: 4px solid #8ba5c8;
	border-radius: 11px;
	box-shadow: 0 3px 12px rgba(35, 55, 90, 0.035);
	transition: transform 0.2s, box-shadow 0.2s;
}

.dogadjaj-kartica:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px rgba(35, 55, 90, 0.07);
}

.dogadjaj-gornji-red {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
}

.dogadjaj-tip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 6px 10px;
	font-size: 10px;
	font-weight: 800;
	letter-spacing: 0.6px;
	border-radius: 5px;
}

.dogadjaj-period {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #77869b;
	font-size: 12px;
}

.dogadjaj-naziv {
	margin: 0 0 10px;
	color: #26364d;
	font-size: 17px;
	font-weight: 700;
	line-height: 1.5;
}

.dogadjaj-opis {
	margin: 0;
	color: #69788e;
	font-size: 13px;
	line-height: 1.8;
	white-space: pre-line;
}

.dogadjaj-napomena {
	display: flex;
	align-items: flex-start;
	gap: 11px;
	margin-top: 17px;
	padding: 13px 15px;
	color: #8a6427;
	background: #fff8e9;
	border: 1px solid #f7e7bf;
	border-radius: 7px;
}

.dogadjaj-napomena>i {
	margin-top: 2px;
	font-size: 16px;
}

.dogadjaj-napomena strong {
	display: block;
	margin-bottom: 4px;
	font-size: 12px;
}

.dogadjaj-napomena p {
	margin: 0;
	font-size: 12px;
	line-height: 1.7;
	white-space: pre-line;
}

.dogadjaj-dno {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	margin-top: 17px;
	padding-top: 13px;
	color: #8290a4;
	font-size: 11px;
	border-top: 1px solid #eef1f6;
}

.dogadjaj-dno i {
	margin-right: 4px;
	color: #4f82bb;
}

.dogadjaj-dno strong {
	color: #4b5e77;
}

/* BOJE PO KATEGORIJAMA */

/* UPIS */
.kartica-upis {
	border-left-color: #27866a;
}

.datum-upis {
	border-top: 3px solid #27866a;
}

.tacka-upis {
	border-color: #27866a;
}

.oznaka-upis {
	color: #23795f;
	background: #e5f6ef;
}

/* NASTAVA */
.kartica-nastava {
	border-left-color: #7954b5;
}

.datum-nastava {
	border-top: 3px solid #7954b5;
}

.timeline-tacka.tacka-nastava {
	border-color: #7954b5;
}

.oznaka-nastava {
	color: #7049a7;
	background: #f0e9fc;
}

/* ISPITI */
.kartica-ispiti {
	border-left-color: #d58a2b;
}

.datum-ispiti {
	border-top: 3px solid #d58a2b;
}

.timeline-tacka.tacka-ispiti {
	border-color: #d58a2b;
}

.oznaka-ispiti {
	color: #a96b1d;
	background: #fff2de;
}

/* PRAZNICI */
.kartica-praznici {
	border-left-color: #dc6570;
}

.datum-praznici {
	border-top: 3px solid #dc6570;
}

.timeline-tacka.tacka-praznici {
	border-color: #dc6570;
}

.oznaka-praznici {
	color: #bd4e5a;
	background: #ffeaed;
}

/* AKADEMSKA GODINA */
.kartica-student {
	border-left-color: #3976b7;
}

.datum-student {
	border-top: 3px solid #3976b7;
}

.timeline-tacka.tacka-student {
	border-color: #3976b7;
}

.oznaka-student {
	color: #285d9b;
	background: #eaf2ff;
}

/* PRAZNA STANJA */
.kalendar-prazno {
	padding: 45px 20px;
	text-align: center;
	background: #fff;
	border: 1px dashed #dbe3ee;
	border-radius: 12px;
}

.prazno-ikona {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 65px;
	height: 65px;
	margin: 0 auto 17px;
	color: #6f91bb;
	font-size: 26px;
	background: #edf4ff;
	border-radius: 50%;
}

.kalendar-prazno h4 {
	margin: 0 0 10px;
	color: #33445b;
	font-size: 17px;
	font-weight: 700;
}

.kalendar-prazno p {
	margin: 0 0 18px;
	color: #8390a3;
	font-size: 13px;
	line-height: 1.7;
}

.kalendar-prazno .btn {
	color: #285d9b;
	background: #fff;
	border-color: #cbd9eb;
	border-radius: 7px;
}

/* PODNO\u017dJE */
.kalendar-podnozje {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	margin-top: 28px;
	padding: 15px 17px;
	color: #738198;
	font-size: 11px;
	line-height: 1.8;
	background: #edf2f9;
	border-radius: 8px;
}

.kalendar-podnozje i {
	margin-top: 3px;
	color: #4d7fb7;
	font-size: 15px;
}

/* RESPONSIVE */
@media ( max-width : 1100px) {
	.kalendar-statistika {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media ( max-width : 767px) {
	.kalendar-stranica {
		padding: 12px;
	}
	.kalendar-hero {
		flex-direction: column;
		align-items: flex-start;
		padding: 22px;
	}
	.kalendar-hero-ikona {
		width: 55px;
		height: 55px;
		font-size: 24px;
	}
	.kalendar-hero-tekst h2 {
		font-size: 23px;
	}
	.kalendar-godina {
		width: 100%;
		text-align: left;
	}
	.kalendar-statistika {
		gap: 10px;
	}
	.kalendar-stat-kartica {
		gap: 10px;
		padding: 13px;
	}
	.kalendar-stat-ikona {
		width: 38px;
		height: 38px;
		font-size: 17px;
	}
	.kalendar-stat-kartica span {
		font-size: 11px;
	}
	.kalendar-stat-kartica strong {
		font-size: 21px;
	}
	.kalendar-kontrole {
		padding: 14px;
	}
	.kalendar-filteri button {
		padding: 8px 10px;
	}
	.kalendar-dogadjaj {
		grid-template-columns: 52px 14px minmax(0, 1fr);
		gap: 8px;
	}
	.timeline-datum {
		padding-top: 20px;
	}
	.timeline-datum-kartica {
		width: 49px;
		height: 73px;
	}
	.datum-dan {
		font-size: 22px;
	}
	.datum-mesec {
		font-size: 10px;
	}
	.datum-godina {
		font-size: 9px;
	}
	.timeline-tacka {
		width: 11px;
		height: 11px;
	}
	.dogadjaj-kartica {
		padding: 16px;
	}
	.dogadjaj-naziv {
		font-size: 15px;
	}
	.dogadjaj-gornji-red {
		align-items: flex-start;
		flex-direction: column;
		gap: 10px;
	}
	.dogadjaj-period {
		font-size: 11px;
	}
	.kalendar-sekcija-naslov h3 {
		font-size: 18px;
	}
}

.tacka-overa {
	background: #2585a8;
}

.tacka-prijava-ispita {
	background: #8b5cf6;
}

@media ( max-width : 380px) {
	.kalendar-statistika {
		grid-template-columns: 1fr;
	}
}
/* Osnovni izgled oznake */
.dogadjaj-tip {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 5px 10px;
    border-radius: 6px;
    font-size: 11px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.3px;
    white-space: nowrap;
}

.dogadjaj-tip i {
    font-size: 13px;
}

/* Upis */
.oznaka-upis {
    color: #23795f;
    background: #e5f6ef;
}

/* Overa semestra */
.oznaka-overa_semestara {
    color: #24718a;
    background: #e2f3f8;
}

/* Prijava ispita */
.oznaka-prijava_ispita {
    color: #7651a8;
    background: #f0e8fa;
}

/* Nastava */
.oznaka-nastava {
    color: #2865a0;
    background: #e5effb;
}

/* Ispitni rok */
.oznaka-ispitni_rok {
    color: #a85b16;
    background: #fff0dc;
}

/* Neradni dani */
.oznaka-neradni_dan {
    color: #b44343;
    background: #fde8e8;
}

/* Akademska godina */
.oznaka-akademska_godina,
.oznaka-student {
    color: #596579;
    background: #edf0f5;
}
.oznaka-semestar {
    color: #6b55a1;
    background: #eee9fa;
}

/* ===== ADMINISTRACIJA KALENDARA ===== */
.kalendar-admin {
	padding: 20px;
	background: #f6f8fc;
	min-height: 100%;
	color: #273449;
}

.admin-hero {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 24px;
	padding: 22px 28px;
	margin-bottom: 22px;
	color: #273449;
	background: #fff;
	border: 1px solid #e5eaf1;
	border-left: 5px solid #2864a0;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(30, 55, 90, .035);
}

.admin-hero h2 {
	margin: 0 0 5px;
	color: #244c78;
	font-size: 23px;
	font-weight: 600;
}

.admin-hero p {
	margin: 0;
	color: #718096;
	font-size: 13px;
}

.admin-hero i {
	font-size: 30px;
	margin-right: 15px;
	color: #5488c7;
}

.admin-hero .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 9px;
	min-height: 42px;
	padding: 10px 18px;
	color: #fff;
	background: #2864a0;
	border: 1px solid #2864a0;
	border-radius: 7px;
	font-size: 13px;
	font-weight: 600;
	box-shadow: none;
	white-space: nowrap;
	transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.admin-hero .btn:hover,
.admin-hero .btn:focus {
	color: #fff;
	background: #1f527f;
	border-color: #1f527f;
	text-decoration: none;
}

.admin-hero .btn:active {
	transform: translateY(1px);
}

.admin-hero .btn i {
	margin: 0;
	color: inherit;
	font-size: 16px;
}

.admin-kontrole {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 18px;
	margin-bottom: 18px;
	background: white;
	border: 1px solid #e8edf5;
	border-radius: 10px;
}

.admin-filteri {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	flex: 1;
}

.admin-filteri .form-control {
	height: 40px;
	border-radius: 7px;
	box-shadow: none;
}

.admin-tabela {
	padding: 20px;
	background: white;
	border: 1px solid #e8edf5;
	border-radius: 10px;
}

.admin-tabela .table {
	margin-bottom: 0;
}

.admin-tabela .table th {
	color: #50627c;
	font-size: 12px;
	background: #f4f7fb;
	border-bottom: 1px solid #e4eaf2;
	white-space: nowrap;
}

.admin-tabela .table td {
	vertical-align: middle;
	font-size: 13px;
}

.admin-tabela .table tbody tr:hover {
	background: #f8fafd;
}

.admin-tip {
	display: inline-block;
	padding: 5px 9px;
	font-size: 11px;
	font-weight: 700;
	border-radius: 5px;
	background: #edf2f9;
	color: #50627c;
}

.admin-status {
	display: inline-block;
	padding: 5px 9px;
	border-radius: 20px;
	font-size: 11px;
	font-weight: 700;
}

.status-aktivan {
	color: #23795f;
	background: #e5f6ef;
}

.status-neaktivan {
	color: #a64d4d;
	background: #fde8e8;
}

.admin-akcije {
	display: flex;
	gap: 5px;
	white-space: nowrap;
}

.admin-akcije .btn {
	width: 32px;
	height: 32px;
	padding: 5px;
}

.admin-broj {
	color: #728198;
	font-size: 12px;
}

.admin-prazno {
	padding: 40px;
	text-align: center;
	color: #8290a5;
}

.admin-prazno i {
	display: block;
	margin-bottom: 15px;
	font-size: 35px;
}

.admin-modal .modal-header {
	color: white;
	background: #285d9b;
	border-radius: 5px 5px 0 0;
}

.admin-modal .modal-header h4 {
	color: white;
	font-weight: 700;
}

.admin-modal .modal-header .close {
	color: white;
	opacity: .8;
}

.admin-modal .form-group label {
	margin-bottom: 6px;
	color: #50627c;
	font-size: 12px;
	font-weight: 700;
}

.admin-modal .form-control {
	border-radius: 6px;
	box-shadow: none;
}

.admin-modal textarea {
	resize: vertical;
}

.admin-obavezno {
	color: #d9534f;
}

@media ( max-width : 767px) {
	.kalendar-admin {
		padding: 10px;
	}
	.admin-hero {
		flex-direction: column;
		align-items: stretch;
		gap: 16px;
		padding: 20px;
	}
	.admin-hero .btn {
		align-self: flex-start;
	}
	.admin-kontrole {
		align-items: stretch;
		flex-direction: column;
	}
	.admin-filteri {
		flex-direction: column;
	}
}

.dijalog-deaktivacija .ngdialog-content {
	padding: 30px;
	border-radius: 12px;
	max-width: 460px;
}

.potvrda-deaktivacije {
	text-align: center;
}

.upozorenje-ikona {
	width: 65px;
	height: 65px;
	line-height: 65px;
	border-radius: 50%;
	background: #fff3cd;
	color: #d99a00;
	font-size: 28px;
	margin: 0 auto 15px;
}

.potvrda-deaktivacije h3 {
	margin: 0 0 15px;
	font-size: 21px;
	font-weight: 600;
}

.potvrda-deaktivacije p {
	font-size: 14px;
	line-height: 1.6;
	color: #555;
}

.upozorenje-tekst {
	background: #fff8e6;
	border: 1px solid #f5dfa2;
	border-radius: 6px;
	padding: 12px;
	margin: 18px 0;
	font-size: 13px;
	color: #795b16;
	text-align: left;
	line-height: 1.5;
}

.dijalog-dugmad {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 22px;
}

.dijalog-dugmad button {
	min-width: 115px;
}

.aktivacija-ikona {
	background: #e5f6ef;
	color: #23795f;
}

.aktivacija-tekst {
	background: #effaf4;
	border-color: #b8e5ce;
	color: #23795f;
}

.aktivacija-ikona {
	background: #e5f6ef;
	color: #23795f;
}

.aktivnost-dialog {
	overflow: visible !important;
}

.admin-aktivnost-dialog .ngdialog-content {
	overflow: visible !important;
}

.uib-datepicker-popup {
	z-index: 99999 !important;
	position: absolute !important;
}

.uib-datepicker-popup.dropdown-menu {
	z-index: 99999 !important;
}

.admin-aktivnost-dialog .ngdialog-content {
	width: 1150px !important;
	max-width: 96vw;
}

.aktivnost-dialog-header {
	display: flex;
	align-items: center;
	gap: 15px;
	padding: 22px 25px;
	border-bottom: 1px solid #edf0f5;
}

.aktivnost-dialog-ikona {
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #eaf2ff;
	color: #285d9b;
	border-radius: 10px;
	font-size: 19px;
}

.aktivnost-dialog-header h3 {
	margin: 0 0 5px;
	color: #27364d;
	font-size: 19px;
	font-weight: 700;
}

.aktivnost-dialog-header p {
	margin: 0;
	color: #8995a7;
	font-size: 12px;
}

.aktivnost-dialog-body {
	padding: 30px 35px;
	max-height: 75vh;
	overflow-y: auto;
}

.aktivnost-dialog-header {
	padding: 25px 35px;
}

.aktivnost-dialog-footer {
	padding: 20px 35px;
}

.aktivnost-dialog-body label {
	color: #44536a;
	font-size: 12px;
	font-weight: 600;
}

.aktivnost-dialog-body .form-control {
	border-radius: 7px;
	border-color: #dfe5ee;
	box-shadow: none;
}

.aktivnost-dialog-body .form-control:focus {
	border-color: #6a96ce;
}

.aktivnost-status-checkbox {
	padding-top: 8px;
}

.aktivnost-status-checkbox label {
	font-weight: normal;
}

.aktivnost-dialog-footer {
	display: flex;
	justify-content: flex-end;
	gap: 9px;
	padding: 17px 25px;
	border-top: 1px solid #edf0f5;
	background: #fafbfd;
}
/* Raspored forme i pregleda */
.aktivnost-editor-layout {
	display: grid;
	grid-template-columns: 1.15fr 0.85fr;
	gap: 25px;
	align-items: start;
}

/* Preview */
.aktivnost-preview {
	position: sticky;
	top: 10px;
	padding: 20px;
	background: #f5f7fb;
	border: 1px solid #e5eaf2;
	border-radius: 10px;
}

.preview-naslov {
	font-size: 15px;
	font-weight: 700;
	color: #263b59;
}

.preview-naslov i {
	margin-right: 7px;
	color: #5488c7;
}

.preview-opis {
	font-size: 12px;
	color: #8995a7;
	margin: 6px 0 18px;
}

/* Kartica kao u kalendaru */
.kalendar-preview-kartica {
	background: #fff;
	border: 1px solid #e3eaf3;
	border-left: 4px solid #5488c7;
	border-radius: 10px;
	padding: 20px;
	box-shadow: 0 3px 12px rgba(30, 55, 90, 0.04);
}

.preview-kartica-zaglavlje {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 15px;
}

.preview-oznaka {
	display: inline-block;
	padding: 6px 11px;
	border-radius: 6px;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
}

.preview-datum {
	font-size: 11px;
	color: #8293ad;
}

.kalendar-preview-kartica h4 {
	font-size: 16px;
	font-weight: 700;
	color: #263b59;
	line-height: 1.5;
	margin: 0 0 25px;
}

.preview-tekst {
	font-size: 12px;
	color: #8293ad;
	line-height: 1.7;
	margin-bottom: 18px;
	white-space: pre-line;
}

.preview-napomena {
	padding: 13px;
	background: #fff8e9;
	border: 1px solid #ffe1a8;
	border-radius: 7px;
	color: #95621c;
	font-size: 12px;
	margin-bottom: 15px;
}

.preview-napomena p {
	margin: 7px 0 0;
	line-height: 1.6;
}

.preview-kartica-footer {
	border-top: 1px solid #edf0f5;
	padding-top: 15px;
	font-size: 11px;
	color: #8293ad;
}

.preview-kartica-footer strong {
	color: #34577f;
	margin-left: 4px;
}

.preview-neaktivna {
	margin-top: 15px;
	color: #b7791f;
	font-size: 11px;
}

/* Boje tipova aktivnosti */
.preview-upis {
	border-left-color: #21936f;
}

.preview-oznaka.preview-upis {
	background: #e5f6ef;
	color: #23795f;
}

.preview-nastava {
	border-left-color: #5488c7;
}

.preview-oznaka.preview-nastava {
	background: #eaf2ff;
	color: #376ca8;
}

.preview-ispitni_rok {
	border-left-color: #9367bd;
}

.preview-oznaka.preview-ispitni_rok {
	background: #f1eafa;
	color: #7950a4;
}

.preview-prijava_ispita {
	border-left-color: #d28b36;
}

.preview-oznaka.preview-prijava_ispita {
	background: #fff3df;
	color: #a86b20;
}

.preview-overa_semestara {
	border-left-color: #2599a0;
}

.preview-oznaka.preview-overa_semestara {
	background: #e2f5f5;
	color: #217c82;
}

.preview-semestar {
	border-left-color: #6585a8;
}

.preview-oznaka.preview-semestar {
	background: #eaf0f7;
	color: #526f91;
}

.preview-neradni_dan {
	border-left-color: #d36a6a;
}

.preview-oznaka.preview-neradni_dan {
	background: #fceaea;
	color: #b64e4e;
}

.preview-akademska_godina {
	border-left-color: #398b76;
}

.preview-oznaka.preview-akademska_godina {
	background: #e5f4ee;
	color: #327b68;
}

@media ( max-width : 900px) {
	.aktivnost-editor-layout {
		grid-template-columns: 1fr;
	}
	.aktivnost-preview {
		position: static;
	}
}

.ngdialog, .ngdialog-content, .aktivnost-dialog {
	overflow: visible !important;
}

.ngdialog.admin-aktivnost-dialog .dropdown-menu {
	z-index: 999999 !important;
}

.ngdialog.admin-aktivnost-dialog .input-group {
	position: relative;
}

.ngdialog.admin-aktivnost-dialog .dropdown-menu[datepicker-popup-wrap] {
	position: absolute !important;
	top: 35px !important;
	left: 0 !important;
	right: auto !important;
	min-width: 280px;
	background: #fff;
	border: 1px solid #ccc;
	border-radius: 4px;
	box-shadow: 0 6px 12px rgba(0, 0, 0, .175);
}

body>[datepicker-popup-wrap] {
	z-index: 10000000 !important;
}

[datepicker-popup-wrap] .btn-danger {
	display: none !important;
}

.aktivnost-toggle {
	display: flex;
	align-items: center;
	gap: 10px;
	min-height: 34px;
}

.switch {
	position: relative;
	display: inline-block;
	width: 42px;
	height: 23px;
	margin: 0;
}

.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	transition: .25s;
	border-radius: 23px;
}

.slider:before {
	position: absolute;
	content: "";
	height: 17px;
	width: 17px;
	left: 3px;
	bottom: 3px;
	background-color: white;
	transition: .25s;
	border-radius: 50%;
}

.switch input:checked+.slider {
	background-color: #23795f;
}

.switch input:checked+.slider:before {
	transform: translateX(19px);
}

.status-tekst {
	font-size: 13px;
	font-weight: 600;
}

.status-aktivna {
	color: #23795f;
}

.status-neaktivna {
	color: #888;
}

.godina-za-prikaz {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 18px;
	padding: 18px 20px;
	margin-bottom: 18px;
	background: #fff;
	border: 1px solid #dce9e2;
	border-left: 4px solid #23795f;
	border-radius: 10px;
	box-shadow: 0 2px 8px rgba(30, 55, 90, .03);
}

.godina-za-prikaz-info {
	display: flex;
	align-items: center;
	gap: 13px;
}

.godina-za-prikaz-ikona {
	width: 42px;
	height: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	border-radius: 9px;
	background: #e5f6ef;
	color: #23795f;
	font-size: 18px;
}

.godina-za-prikaz-info strong {
	display: block;
	margin-bottom: 4px;
	color: #273449;
	font-size: 14px;
}

.godina-za-prikaz-info small {
	color: #8290a5;
	font-size: 12px;
}

.godina-za-prikaz-kontrole {
	display: flex;
	align-items: center;
	gap: 9px;
	min-width: 320px;
}

.godina-za-prikaz-kontrole .form-control {
	min-width: 160px;
	height: 38px;
	border-radius: 7px;
	box-shadow: none;
}

.godina-za-prikaz-status {
	margin-top: 5px;
	color: #23795f;
	font-size: 11px;
}

@media ( max-width : 767px) {
	.godina-za-prikaz, .godina-za-prikaz-kontrole {
		width: 100%;
	}
	.godina-za-prikaz-kontrole {
		flex-direction: column;
		align-items: stretch;
		min-width: 0;
	}
}