html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,dl,dt,dd,ol,nav ul,nav li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:1px 0 1px 0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}

b, strong{font-weight:700;}

:root{
	/* палітра оригінальної сторінки, збережена без змін */
	--navy:        #103f95;
	--blue-mid:    #354F88;
	--blue-accent: #7d9df5;
	--blue-border: #609EC3;
	--sky:         #45B0E3;
	--rust:        #DE4C34;
	--rust-dark:   #CE3E26;
	--red:         #E23B3B;
	--red-dark:    #C42B2B;
	--amber:       #E3A008;
	--amber-dark:  #C6890A;
	--ink:         #23262f;
	--bg:          #F4F6FA;
	--panel:       #EAEEF1;
	--line:        #E2E7F0;
	--white:       #ffffff;
}

body {
	margin:0;
	padding:0;
	font-family: 'Lato', Verdana, Arial, Helvetica, sans-serif;
	background: var(--bg);
	color: var(--ink);
	font-size:14px;
	-webkit-font-smoothing:antialiased;
}

form {padding: 0;margin:0;}
form.qq{position:absolute;
	top:69%;left:48%}
.n{float:left;width:130px;margin: 1px 10px 5px 10px;}
.nf{float:left;width:130px;margin: 7px 10px 5px 10px;}
.nl{float:left; width:85%;display: flex;}
.n2{float:left; width:70%;}

input[type="button"]{
	padding: 7px 20px;
	margin:0 0 3px 0;
	/*background-color: var(--blue-accent);*/
	background-color: #3453a9;
	color:#ffffff;
	border: none;
	border-radius: 8px;
	font-family:'Lato',sans-serif;
	font-weight:600;
	font-size: 0.95em;
	box-shadow:0 4px 12px -4px rgba(16,63,149,.35);
	cursor:pointer;
	transition: all .15s ease-out;
	}

input[type="button"].oth_grey{
	background: var(--blue-mid) !important;
	color: #ffffff;
	height: 33px;
	font-size: 1em;
	letter-spacing: .2px;
	position: relative;
	bottom: 0;
	border-radius: 8px;
	transition: all 0.2s ease-out;
}

input[type="button"].oth{float:right;background:var(--rust)  url(img/p.png) no-repeat; margin:0 0 5% 1%; padding: 3px 3px 3px 40px; height:30px;border:none;border-radius:8px;}
input[type="button"].oth:hover{background:var(--rust-dark) url(img/p.png) no-repeat; }
input[type="button"]:hover{
	background: var(--navy);
	box-shadow:0 6px 16px -4px rgba(16,63,149,.45);
	}
input[type="number"].m{width: 5%;}

input[type="text"].t{
	width: 8%;
	margin-left: 5px;
	margin-right: 15px;
}

input[type="text"].ts{
	width: 30%;
	margin-right: 1%;
	float: none;
	margin-left: 5px;
}

input[type="text"].s{
	width: 20%;
	margin-right: 1%;
	float: none;
}

input[type="text"].sl{
	width: 40%;
	margin-right: 1%;
	float: none;
}

input[type="text"], textarea, select{
	width: 85%;
	margin:0 0 0.5% 0;
	float:left;
	color: var(--ink);
	background:#fbfcfe;
	border:1px solid var(--blue-border);
	border-radius: 9px;
	outline:none;
	padding: 6px 10px;
	font-family: 'Lato', sans-serif;
	font-size: 13.5px;
	transition: all 0.2s ease-out;
}
input[type="text"]:focus, textarea:focus, select:focus{
	border-color: var(--navy);
	box-shadow: 0 0 0 3px rgba(16,63,149,.12);
	background:#ffffff;
}

input[type="text"].src_txt{
	width: 30%;
	padding: 6px 14px;
	font-size: 0.95em;
	margin:0 10px 0 10px;
	color: var(--ink);
	background:#fff;
	border:1px solid var(--blue-border);
	border-radius: 20px;
	outline:none;
	font-family: 'Lato', sans-serif;
}

.annotation {min-height: 50px; overflow:hidden; resize:none;}
.refs {min-height: 70px; margin-bottom: 14px; overflow:hidden; resize:none;}

.h1{
	margin-top:2%;
	font-weight:800;
	text-align:center;
	font-size:1.7em;
	font-family: 'Manrope', sans-serif;
	letter-spacing:-.01em;
	color: var(--navy);
}

.h2{
	margin-top:1%;
	text-align:center;
	font-weight:500;
	font-size:1.15em;
	font-family: 'Lato', sans-serif;
	color:#4a5170;
}

#container { position: relative; padding: 1px; }
#modal_backdrop{
	display:none;
	position:fixed;
	inset:0;
	background:rgba(16,24,40,.5);
	z-index:999;
}
#new_document {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1000;
	width: 92vw;
	max-width: 900px;
	max-height: 88vh;
	overflow-y: auto;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 20px 22px 16px;
	color: #4a5170;
	background: var(--white);
	box-shadow: 0 30px 60px -18px rgba(16,24,40,.4);
}

#new_document h3 {margin: 10px;font-size: 14px; color:var(--navy); font-weight:700;}
.buttons-row{  
    display: flex;
    justify-content: flex-end; /* вирівнювання вправо */
    align-items: center;
    gap: 8px;
    width: 100%;
}
.form-footer-actions{
	display:flex !important;
	width:95% !important;
	box-sizing:border-box !important;
	align-items:center;justify-content:space-between;gap:10px;flex-wrap:nowrap !important;
}
.form-footer-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.form-footer-actions input[type="submit"],
.form-footer-actions input[type="reset"],
.form-footer-actions input[type="button"]{
	float:none !important;
	margin:0 !important;
	height:38px;
	box-sizing:border-box;
	display:inline-flex;
	align-items:center;
}

.r {
	color: var(--rust);
	font-weight:bold;
	overflow: auto;
}

form span {
	display: block;
	font-size: 1em;
	color: var(--blue-mid);
	font-weight: 600;
	font-family: 'Lato', sans-serif;
	height: 10px;
}
.f {color: #8b91a3;font-weight:normal;font-size: 0.8em;}

#method_list {
	border: none;
	background: var(--white);
	border: 1px solid var(--line);
	border-radius: 16px;
	box-shadow: 0 10px 28px -18px rgba(16,63,149,.28);
	padding: 14px 16px 18px;
	margin: 3px;
	position: absolute;
	width: 98%;
}

#method_list table tr:hover{
	background: #f2f5fb;
}

#method_list table tr th {
	background: var(--navy);
	background: linear-gradient(120deg, var(--navy) 0%, #1a4fb8 100%);
	color:#FFFFFF;
	font-family: 'Manrope', sans-serif;
	font-weight:700;
	font-size: 0.95em;
	letter-spacing:.02em;
	padding: 8px 6px;
	outline:none;
	border:none;
}
#method_list table tr th:first-child{border-top-left-radius:10px;}
#method_list table tr th:last-child{border-top-right-radius:10px;}

#method_list table tr td{
	padding: 7px 6px 7px 8px;
	border-bottom: 1px solid var(--line);
	font-size: 0.95em;
}

#method_list table.tbl_sci tr:last-child td{border-bottom:none;}

#method_list table:first-child{
	margin-bottom:6px;
}

.sm{
	font-size:9px;
}
.current{
	width:16px;
	text-align:center;
	color:#FFFFFF;
	font-weight:bold;
}
#method_list ul{
	list-style:none;
	padding:0;
	margin: 7px 4px 8px 0px;
	clear:right;
	display:flex;
	flex-wrap:wrap;
	gap:4px;
	align-items:center;
}
#method_list ul li{
	float:left;
	background: var(--panel);
	color: var(--blue-mid);
	border:none;
	border-radius:6px;
	height:22px;
	min-width:22px;
	margin-bottom: 0;
	margin-right: 0;
	line-height:22px;
	font-family:'IBM Plex Mono',monospace;
	font-size:11.5px;
	font-weight:600;
}

#method_list ul li:hover{
	background: var(--blue-accent);
	color:#fff;
}
#method_list ul li a{
	display:block;
	text-decoration:none;
	text-align:center;
	width:22px;
	color:inherit;
	line-height:22px;
}
#method_list ul li.current{
	background: var(--navy) !important;
	color:#fff !important;
}


.radio {
	vertical-align: top;
	width: 17px;
	height: 17px;
	margin: 0 3px 0 0;
	position: absolute;
	opacity: 0;
}
.radio + label {
	cursor: pointer;
	font-family:'Lato',sans-serif;
	font-weight:600;
	font-size: 13px;
	color: var(--blue-mid);
	position: relative;
	padding: 3px 12px;
	border-radius: 18px;
	transition: all .15s ease-out;
	display: inline-flex;
	align-items: center;
	flex-shrink: 0;
	white-space: nowrap;
}
.radio:not(:checked) + label {
	border: 1px solid var(--line);
	background: var(--white);
}
.radio:not(:checked) + label:hover{
	background: var(--panel);
	border-color: var(--blue-accent);
	color: var(--navy);
}
.radio:checked + label{
	background: #7A8AAC;
	border: 1px solid #7A8AAC;
	color: #fff;
	font-weight: 700;
	box-shadow: 0 6px 16px -6px rgba(122,138,172,.55);
}
.radio:checked + label:hover{
	background: #66759a;
	border-color: #66759a;
	color: #fff;
}
.radio:focus + label {
	box-shadow: 0 0 0 3px rgba(16,63,149,.25);
}
.c{width: 92%;
margin: 14px auto 0;}
.wrapper {
	margin: 1px;
	padding: 6px 4px;
	border: 1px solid var(--line);
	background: var(--white);
	border-radius: 14px;
	box-shadow: 0 10px 28px -18px rgba(16,63,149,.28);
	float: left;
}
.clear{clear:both;}/* clear float */

.account{
	float:left;
	width: 100%;
}

.span3 {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-left: 0;
	padding: 2px 14px 2px 14px;
	background: var(--red);
	border-radius: 20px;
	transition: all 0.2s ease-out;
	cursor: pointer;
	box-shadow: 0 4px 12px -4px rgba(226,59,59,.5);
}
.span3-ico{
	width: 20px; height: 20px; border-radius: 50%;
	background: rgba(255,255,255,.25);
	display: inline-flex; align-items: center; justify-content: center;
	color: #fff; flex-shrink: 0;
}
.span3 i {
	color: #ffffff;
	font-size: 0.85em;
	font-weight: 600;
	font-family:'Lato',sans-serif;
	font-style:normal;
	white-space: nowrap;
}
.span3:hover {
	background: var(--red-dark);
	box-shadow: 0 6px 16px -4px rgba(196,43,43,.6);
	transform: translateY(-1px);
}

.contact_form input[type="submit"],input[type="reset"],input[type="file"] {
	border: none;
	outline: none;
	cursor: pointer;
	background: var(--blue-accent);
	color:#ffffff;
	padding: 8px 16px;
	font-family:'Lato',sans-serif;
	font-weight:600;
	font-size: 0.95em;
	float:left;
	margin: 15px 10px 10px 10px;
	transition: all 0.2s ease-out;
	border-radius: 8px;
	box-shadow:0 4px 12px -4px rgba(16,63,149,.35);
}
.contact_form input input[type="reset"]{margin-left:130px}

.contact_form input[type="file"] {font-size: 0.9em;background: var(--blue-mid);padding: 6px 10px;margin: 0; color:#ffffff;box-shadow:none;height:33px;box-sizing:border-box;}
.contact_form input[type="submit"]:hover,input[type="reset"]:hover {
	background: var(--navy);
}
input[type="submit"].move_doc{
	width: 280px;
	background: var(--rust) !important;
}
input[type="submit"].move_doc:hover{
	background: var(--rust-dark) !important;
}

.syllab_type{
	width: 280px;
	background-color: #fbfcfe;
	text-align: center;
	left: 125px;
	border: 1px solid var(--blue-border);
	border-radius: 10px;
	margin-top: 5px;
	margin-bottom: 10px;
	padding: 10px 0 10px 0;
	display: inline-block;
	font-family:'Lato',sans-serif;
	font-weight:500;
	color: var(--ink);
}
.collect_top{
	margin: 6px 0 0 0;
	display: ruby-text;
	font-family:'Lato',sans-serif;
	font-weight:600;
	color: var(--blue-mid);
}
.collect_top .span3{
	margin-right: 6px;
	vertical-align: middle;
}
.collect_top select{
	width:auto;
	float:none;
	display:inline-block;
	padding:5px 10px;
}
.hlp_top{
	display: ruby-base-container;
	margin-left: 0;
}
.collect_frm{
	margin: 8px 0 0 0;
	float: none;
	display: flex;
	align-items: center;
	gap: 8px;
	width: 100%;
}
.collect_frm .n{padding-top:0 !important;flex:0 0 150px !important;}
.file-row{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.file-row .nf{padding-top:0 !important;flex:0 0 150px !important;}
.pubtype-row{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}
.pubtype-row .n{padding-top:0 !important;}
.pubtype-row .n2{display:flex;align-items:center;gap:6px;}
.pubtype-row .n2 select{vertical-align:middle;}
.pubtype-row .n2 input[type="checkbox"]{vertical-align:middle;margin:0;}
#b_type{max-width:35%;}
.collect_frm select{
	width:auto;
	max-width:35%;
	float:none;
	display:inline-block;
}
.flbl{
	margin: 4px 0 0 0;
}
.tbl_sci{
	border-collapse: collapse;
	table-layout: auto;
	width:100%;
	font-family:'Lato',sans-serif;
}
.doc-table td, .doc-table th{overflow:hidden;text-overflow:ellipsis;}
.doc-table td.mono, .doc-table th[width]{white-space:nowrap;}
.doc-table td:nth-child(2), .doc-table th:nth-child(2){white-space:normal;}

/* ================= NEW DESIGN: TOPBAR ================= */
#header{margin:0;}
.topbar{
	background:linear-gradient(120deg,var(--navy) 0%, #1a4fb8 60%, var(--blue-accent) 130%);
	color:#fff;
	padding:24px 32px 56px;
	position:relative;
	overflow:hidden;
	text-align:left;
}
.topbar-inner{
	max-width:1240px;margin:0 auto;position:relative;z-index:1;
	display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:20px;
}
.eyebrow{
	font-size:11.5px;letter-spacing:.14em;text-transform:uppercase;
	color:rgba(255,255,255,.65);font-weight:600;margin-bottom:8px;
	font-family:'Lato',sans-serif;
}
h1.title{
	font-family:'Manrope',sans-serif;font-weight:800;
	font-size:28px;letter-spacing:-.01em;margin:0 0 6px;color:#fff;
}
.subtitle{color:rgba(255,255,255,.78);font-size:14px;max-width:560px;line-height:1.5;font-family:'Lato',sans-serif;}
.owner-card{
	background:rgba(255,255,255,.1);
	border:1px solid rgba(255,255,255,.18);
	backdrop-filter:blur(6px);
	border-radius:14px;
	padding:12px 18px;
	display:flex;align-items:center;gap:14px;
	min-width:230px;
}
.owner-avatar{
	width:42px;height:42px;border-radius:50%;
	background:var(--rust);
	display:flex;align-items:center;justify-content:center;
	font-family:'Manrope',sans-serif;font-weight:800;font-size:15px;color:#fff;
	flex-shrink:0;
}
.owner-name{font-weight:700;font-size:14px;color:#fff;font-family:'Lato',sans-serif;}

/* ================= STAT CARDS ================= */
.stats{
	max-width:1240px;margin:0 auto;padding:0 32px;
	display:grid;grid-template-columns:repeat(4,1fr);gap:14px;
	margin-top:-42px;position:relative;z-index:2;
}
.stat{
	background:var(--white);
	border-radius:14px;
	padding:16px 18px;
	box-shadow:0 10px 30px -14px rgba(16,63,149,.28);
	border:1px solid var(--line);
	display:flex;flex-direction:column;gap:2px;
}
.stat .num{font-family:'Manrope',sans-serif;font-weight:800;font-size:24px;color:var(--navy);}
.stat .lbl{font-size:12.5px;color:#697089;font-weight:500;font-family:'Lato',sans-serif;}
.stat.accent-rust .num{color: var(--navy);}
.stat.accent-sky .num{color:#1783b3;}
@media(max-width:720px){
	.stats{grid-template-columns:repeat(2,1fr);}
}

/* ================= FILTER ROW (report-type chips + tools) ================= */
.c{
	display:flex;align-items:center;justify-content:space-between;flex-wrap:nowrap;gap:10px;
	width:100%;margin:14px auto 16px;padding:0 32px;box-sizing:border-box;
	
}
.wrapper{
	display:flex;flex-wrap:nowrap;gap:5px;align-items:center;flex-shrink:0;
	border:none;padding:0;box-shadow:none;background:transparent;float:none;margin:0;
}
.header-tools{display:flex;align-items:center;gap:0;flex-wrap:nowrap;flex-shrink:0;}
.collect_top{
	display:flex;align-items:center;gap:8px;flex-shrink:0;white-space:nowrap;
	font-size:13px;color:#5b6172;font-weight:600;font-family:'Lato',sans-serif;
}
.collect_top select{
	width:auto;float:none;display:inline-block;
	border:1px solid var(--line);border-radius:10px;
	padding:8px 10px;background:var(--white);max-width:230px;
}
.quick-links{
	display:flex;align-items:center;gap:5px;flex-wrap:nowrap;flex-shrink:0;
	padding-left:0;border-left:none;
}
.quick-links a, .hlp_top a{
	display:inline-flex;align-items:center;justify-content:center;
	width:28px;height:28px;background:var(--panel);border-radius:8px;
	transition:.15s;flex-shrink:0;
}
.quick-links a:hover, .hlp_top a:hover{background:var(--blue-accent);}
.quick-links a:hover img, .hlp_top a:hover img{filter:brightness(0) invert(1);}
.quick-links img, .hlp_top img{max-width:17px;max-height:17px;}

/* ================= CONTAINER / FORM PANEL AS CARD ================= */
#container{max-width:1240px;margin:0 auto;padding:0 32px 60px;box-sizing:border-box;}

/* Stack labels above inputs (mockup .field look), CSS-only so PHP markup stays untouched */
form span{
	display:block;
	height:auto;
	margin-bottom:14px;
	font-size:13px;font-weight:600;color:var(--blue-mid);font-family:'Lato',sans-serif;
}
.n, .nf{
	float:none;display:block;width:auto;
	margin:0 0 6px 0;font-size:13px;font-weight:600;color:var(--blue-mid);
}
.n2{float:none;display:inline-block;width:auto;vertical-align:middle;}

/* ================= INLINE FIELDS (label + value on the same line) ================= */
.inline-fields .n, .inline-fields .nf{
	float:left !important;display:block;width:150px !important;
	margin:0 10px 0 0 !important;padding-top:8px;
}
.inline-fields span{
	display:block;height:auto;margin-bottom:6px;
	font-size:13px;font-weight:600;color:var(--blue-mid);font-family:'Lato',sans-serif;
}
.inline-fields input[type="text"],
.inline-fields textarea,
.inline-fields select{
	float:left !important;display:inline-block !important;
	width:calc(95% - 170px) !important;
	box-sizing:border-box !important;
	margin:0 10px;
}
.inline-fields input[type="text"].t{width:auto !important;}
.inline-fields .clear{clear:both;}
.nl{float:none;width:100%;max-width:95%;clear:both;display:flex;flex-wrap:nowrap;gap:10px;align-items:center;margin-top:4px;}
.nl input[type="text"]{flex:1 1 0;min-width:0;width:auto !important;}

input[type="text"], textarea, select{
	float:none;display:block;width:100%;box-sizing:border-box;
}
input[type="text"].t{display:inline-block;width:80px !important;box-sizing:border-box;vertical-align:middle;margin-right:6px;}
#q_date{width:150px !important;}
input[type="text"].ts{display:inline-block;width:230px !important;box-sizing:border-box;vertical-align:middle;margin-right:6px;}
input[type="text"].s{display:inline-block;width:160px !important;box-sizing:border-box;vertical-align:middle;margin-right:6px;}
input[type="text"].sl{display:inline-block;width:320px !important;box-sizing:border-box;vertical-align:middle;margin-right:6px;}
.n2 select{width:auto;display:inline-block;}
input[type="checkbox"]{accent-color:var(--blue-accent);width:14px;height:14px;vertical-align:middle;}

/* ================= TOOLBAR (wide search) / TABLE CARD / PAGER ================= */
#method_list{background:transparent;border:none;box-shadow:none;padding:0;position:static;width:100%;margin:3px 0 0;}
.toolbar{
	display:flex;align-items:center;flex-wrap:wrap;gap:12px;
	background:var(--white);border:1px solid var(--line);border-radius:16px;
	padding:14px 16px;margin-bottom:18px;box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.search{flex:1;min-width:220px;position:relative;display:flex;align-items:center;}
.search svg{position:absolute;left:13px;top:50%;transform:translateY(-50%);opacity:.45;pointer-events:none;}
.search .src_txt{
	width:100% !important;margin:0 !important;padding:10px 14px 10px 38px !important;
	border-radius:10px !important;font-size:14px !important;
}
.table-actions{display:flex;align-items:center;gap:8px;margin-left:auto;}
.table-card{
	background:var(--white);border:1px solid var(--line);border-radius:14px;
	overflow:hidden;box-shadow:0 1px 2px rgba(16,24,40,.03);
}
.table-card table.tbl_sci{margin:0;}
.pager{
	display:flex;justify-content:center;align-items:center;gap:6px;margin:22px 0 10px;
	flex-wrap:wrap;
}
.pager button{
	min-width:34px;height:34px;border-radius:9px;border:1px solid var(--line);
	background:var(--white);font-family:'IBM Plex Mono',monospace;font-size:12.5px;
	cursor:pointer;color:#5b6172;
}
.pager button:hover{border-color:var(--blue-accent);color:var(--navy);}
.pager button.active{background:var(--navy);border-color:var(--navy);color:#fff;}
.pager-dots{
	display:inline-flex;align-items:center;justify-content:center;
	min-width:34px;height:34px;color:#8b91a3;font-family:'IBM Plex Mono',monospace;font-size:13px;
}
.badge{font-size:11px;font-weight:700;letter-spacing:.02em;padding:4px 9px;border-radius:7px;display:inline-block;}
.badge-rppr{background:#eef1fc;color:var(--navy);}

@media(max-width:900px){
	.table-card{overflow-x:auto;}
}

.btn{
	border:none;border-radius:10px;padding:9px 16px;
	font-family:'Lato',sans-serif;font-weight:600;font-size:13px;
	cursor:pointer;transition:.15s;display:inline-flex;align-items:center;gap:6px;
	white-space:nowrap;
}
.btn-ghost{background:var(--panel);color:var(--blue-mid);}
.btn-ghost:hover{background:#dfe5f0;}
.btn-primary{background:var(--blue-accent);color:#fff;box-shadow:0 6px 14px -6px rgba(125,157,245,.7);}
.btn-primary:hover{background:var(--navy);}

/* ================= STATUS ICONS (repo-*) ================= */
.repo-check, .repo-sent, .repo-draft, .repo-rejected, .repo-pending, .repo-empty{
	width:26px;height:26px;border-radius:50%;
	display:inline-flex;align-items:center;justify-content:center;
	vertical-align:middle;
	transition:transform .15s ease, box-shadow .15s ease;
	box-shadow:0 0 0 4px transparent;
}
.repo-check{
	background:#1e9e5a;color:#fff;
	box-shadow:0 0 0 4px rgba(30,158,90,.16);
}
.repo-sent{
	background:#1e9e5a;color:#fff;cursor:pointer;
	box-shadow:0 0 0 4px rgba(30,158,90,.18);
}
.repo-pending{
	background:var(--rust);color:#fff;cursor:pointer;
	box-shadow:0 0 0 4px rgba(222,76,52,.16);
}
.repo-draft{
	background:#8b91a3;color:#fff;cursor:pointer;
	box-shadow:0 0 0 4px rgba(139,145,163,.18);
}
.repo-rejected{
	background:var(--red);color:#fff;cursor:pointer;
	box-shadow:0 0 0 4px rgba(226,59,59,.2);
}
.repo-empty{
	background:var(--sky);color:#fff;cursor:pointer;
	box-shadow:0 0 0 4px rgba(69,176,227,.18);
}
.repo-sent:hover, .repo-pending:hover, .repo-draft:hover, .repo-rejected:hover, .repo-empty:hover{
	transform:scale(1.18);
	box-shadow:0 6px 14px -4px rgba(16,24,40,.3);
}
.msg-alert{
	background:var(--red);color:#fff;
	box-shadow:0 0 0 4px rgba(226,59,59,.2);
	margin-left:4px;
	animation:msg-pulse 1.8s ease-in-out infinite;
}
.msg-alert:hover{background:var(--red-dark);}
@keyframes msg-pulse{
	0%,100%{box-shadow:0 0 0 4px rgba(226,59,59,.2);}
	50%{box-shadow:0 0 0 7px rgba(226,59,59,.12);}
}

/* ================= BADGES BY PUBLICATION TYPE ================= */
.badge-syl{background:#e8f6fb;color:#1783b3;}
.badge-im{background:#fdeceb;color:var(--rust-dark);}
.more-files-btn{
	display:inline-block !important;
	background:rgba(125,157,245,.22) !important;color:var(--navy) !important;
	border-radius:20px !important;padding:2px 9px !important;
	font-family:'Lato',sans-serif !important;font-size:11px !important;font-weight:700 !important;
	text-decoration:none !important;white-space:nowrap !important;
	visibility:visible !important;opacity:1 !important;
	margin: 5px 0 5px 0;
}
.more-files-btn:hover{background:var(--navy) !important;color:#fff !important;}

/* ================= CARD LIST (наукові, як у макеті) ================= */
.list{display:flex;flex-direction:column;gap:10px;}
.pub{
	background:var(--white);
	border:1px solid var(--line);
	border-radius:14px;
	padding:16px 18px;
	display:grid;
	grid-template-columns:64px minmax(0,1fr) auto;
	gap:16px;
	align-items:start;
	transition:.15s;
	font-family:'Lato',sans-serif;
}
.pub:hover{border-color:var(--blue-accent);box-shadow:0 8px 22px -14px rgba(16,63,149,.35);}

.pub-code{
	font-family:'IBM Plex Mono',monospace;font-size:11.5px;
	color:#8b91a3;background:var(--panel);
	border-radius:8px;padding:6px 2px;text-align:center;font-weight:600;
	height:fit-content;width:64px;max-width:64px;box-sizing:border-box;
	overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
}

.pub-main{min-width:0;}
.pub-title{
	font-family:'Open Sans', sans-serif;font-weight:600;font-size:17px;line-height:22px;color:var(--navy);
	margin-bottom:5px;
}
.pub-title a{color:var(--navy);}
.pub-title a:hover{text-decoration:underline;}
.pub-title .no-file{color:var(--navy);font-weight:600;}
.pub-authors{font-family:'Open Sans', sans-serif;font-weight:400;font-size:13px;line-height:19px;color:#3a3d4a;margin-bottom:7px;}
.pub-citation{
	font-size:12.5px;color:#3a3d4a;line-height:1.5;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}

.pub-meta{
	display:flex;flex-direction:column;align-items:flex-end;gap:8px;
	min-width:130px;
}
.meta-top{display:flex;align-items:center;gap:8px;}
.year{font-family:'IBM Plex Mono',monospace;font-size:12.5px;color:#8b91a3;font-weight:600;}

.meta-bottom{display:flex;align-items:center;gap:10px;}
.cite-count{
	display:flex;align-items:center;gap:4px;
	font-size:12px;color:#8b91a3;font-weight:600;
}
.cite-count svg{opacity:.55;}

.row-actions{display:flex;gap:4px;opacity:0;transition:.15s;}
.pub:hover .row-actions{opacity:1;}
.icon-btn{
	width:28px;height:28px;border-radius:8px;
	display:flex;align-items:center;justify-content:center;
	background:var(--panel);color:#5b6172;cursor:pointer;transition:.15s;
}
.icon-btn:hover{background:var(--blue-accent);color:#fff;}
.icon-btn.sm{width:26px;height:26px;margin:0 auto;}
.icon-btn-featured{
	width:34px;height:34px;
	background:linear-gradient(135deg, var(--navy) 0%, var(--blue-accent) 100%) !important;
	color:#fff !important;
	box-shadow:0 6px 16px -4px rgba(16,63,149,.6), 0 0 0 3px rgba(16,63,149,.14);
	animation:featured-pulse 2.4s ease-in-out infinite;
	transform:scale(1);
}
.icon-btn-featured:hover{
	background:linear-gradient(135deg, var(--navy) 0%, #0c3480 100%) !important;
	transform:scale(1.12);
	box-shadow:0 8px 20px -4px rgba(16,63,149,.7), 0 0 0 4px rgba(16,63,149,.2);
}
@keyframes featured-pulse{
	0%,100%{box-shadow:0 6px 16px -4px rgba(16,63,149,.6), 0 0 0 3px rgba(16,63,149,.14);}
	50%{box-shadow:0 6px 16px -4px rgba(16,63,149,.6), 0 0 0 6px rgba(16,63,149,.05);}
}
.icon-btn.file-dl{background:rgba(125,157,245,.14);color:var(--blue-accent);}
.icon-btn.file-dl:hover{background:var(--blue-accent);color:#fff;}
.icon-btn.file-none{background:transparent;color:#c3c8d2;cursor:default;}
.icon-btn.danger:hover{background:var(--rust);}

@media(max-width:720px){
	.pub{grid-template-columns:44px 1fr;}
	.pub-meta{grid-column:1/-1;flex-direction:row;justify-content:space-between;align-items:center;}
}

.mono{font-family:'IBM Plex Mono',monospace;}

/* ================= CHIP COUNT BADGES ================= */
.radio + label .count{
	font-family:'IBM Plex Mono',monospace;font-size:10.5px;font-weight:600;
	background:var(--panel);color:#8b91a3;
	padding:1px 6px;border-radius:20px;margin-left:5px;display:inline-block;
	vertical-align:middle;
}
.radio:checked + label .count{background:rgba(255,255,255,.25);color:#fff;}

/* ================================================================
   Успадковані стилі для stud_docs2rep.php (єдина сторінка в проєкті,
   що досі використовує звичайні HTML-таблиці зі старого style.css).
   Усі невикористані в цьому проєкті правила з style.css прибрано.
   ================================================================ */
form input[type=text]{
	background:#fff;border:1px solid #7f9db9;padding-left:5px;margin-bottom:5px;
}
input[type=text]:focus{
	outline-style:none;border:1px solid gold;padding-left:5px;
}
table.h_table, table.table_height{
	font:11pt Arial, Helvetica, sans-serif;
	border:0px solid #d5e3ea;
	border-collapse:collapse;
}
.h_table td, .table_height td{padding:5px;height:25px;}
table.h_table tr:hover{background-color:#f4f4f5;}
table.h_table tr td:hover{background-color:#fff;}
table.h_table th, table.table_height th{
	background:#40A2D1;color:#fff;
	font-family:'Open Sans', sans-serif;font-weight:400;font-size:1em;
	letter-spacing:1px;padding:3px;outline:none;
}
table.h_table th a, table.table_height th a{color:#fff;}
table.h_table td#center, table.table_height td#center{text-align:center;}
table.h_table a, table.table_height a{text-decoration:none;color:MidnightBlue;}
table.h_table a:hover, table.table_height a:hover{text-decoration:underline;color:Maroon;}
#st_group{text-align:center;margin:20px 0 30px 0;width:80px;}

/* ================================================================
   Стилі сторінки work_list.php («Наукове портфоліо» / «Звіт»).
   Перенесено з вбудованого <style> для кешування окремо від HTML
   і повторного використання спільної палітри проєкту.
   ================================================================ */
.wl-topbar{
	background:linear-gradient(120deg,var(--navy) 0%, #1a4fb8 100%);
	color:#fff;padding:26px 20px 24px;text-align:center;
	border-radius:0 0 20px 20px;
	box-shadow:0 14px 34px -20px rgba(16,63,149,.4);
	margin-bottom:18px;
}
.wl-topbar h1{
	font-family:'Manrope',sans-serif;font-weight:800;font-size:22px;
	margin:0 0 4px;letter-spacing:-.01em;color:#fff;
}
.wl-topbar h3{
	font-family:'Lato',sans-serif;font-weight:600;font-size:14px;
	margin:0;color:rgba(255,255,255,.8);
}

.filter-card{
	max-width:1240px;margin:0 auto 22px;background:#fff;
	border:1px solid var(--line);border-radius:16px;
	padding:14px 20px;box-shadow:0 1px 2px rgba(16,24,40,.03);
	display:flex;flex-wrap:nowrap;align-items:center;gap:14px;
	font-size:13.5px;overflow-x:auto;
}
.filter-card label{font-weight:600;color:var(--blue-mid);white-space:nowrap;}
.filter-card form, .filter-card form > div{
	display:flex;flex-wrap:nowrap;align-items:center;gap:12px;
	margin:0 !important;
}
.filter-card select{
	border:1px solid var(--line);border-radius:9px;padding:6px 10px;
	font-family:'Lato',sans-serif;font-size:13px;color:var(--ink);
	background:#fff;outline:none;transition:border-color .15s, box-shadow .15s;
}
.filter-card select:focus{border-color:var(--blue-accent);box-shadow:0 0 0 3px rgba(125,157,245,.18);}
.filter-card input[type=checkbox]{accent-color:var(--blue-accent);width:16px;height:16px;vertical-align:middle;}
.wiki-help{
	display:inline-flex;align-items:center;justify-content:center;
	width:36px;height:36px;border-radius:9px;background:var(--panel);color:var(--blue-mid);
	transition:.15s;flex-shrink:0;
}
.wiki-help:hover{background:var(--blue-accent);color:#fff;}

.report-wrap{max-width:1240px;margin:0 auto;position:relative;padding:0 16px;}

.howto-card{
	max-width:1240px;margin:0 auto 22px;padding:0 16px;
}
.howto-title{
	display:block;margin:0 0 -1px;padding:16px 24px;
	font-family:'Manrope',sans-serif;font-weight:800;font-size:16px;
	color:#fff;background:linear-gradient(120deg,var(--navy) 0%, #1a4fb8 100%);
	border-radius:16px 16px 0 0;border:none;
}
.howto-steps{
	list-style:none;margin:0;padding:20px 24px 22px;
	background:#fff;border:1px solid var(--line);border-top:none;
	border-radius:0 0 16px 16px;box-shadow:0 14px 34px -22px rgba(16,63,149,.28);
}
.howto-steps li{
	display:flex;align-items:flex-start;gap:12px;
	padding:9px 0;border-bottom:1px solid #F0F2F7;
	font-size:13.5px;line-height:1.55;
}
.howto-steps li:last-child{border-bottom:none;}
.step-num{
	flex-shrink:0;width:24px;height:24px;border-radius:50%;
	background:var(--blue-accent);color:#fff;font-weight:700;font-size:12.5px;
	display:flex;align-items:center;justify-content:center;
	font-family:'Lato',sans-serif;margin-top:1px;
}
.howto-link{color:var(--navy);font-weight:600;text-decoration:underline;text-decoration-color:rgba(16,63,149,.35);}
.howto-link:hover{color:var(--blue-accent);}
.howto-steps code{
	background:var(--panel);color:var(--blue-mid);padding:1px 6px;border-radius:5px;
	font-family:'IBM Plex Mono',monospace;font-size:12px;
}
.plus-demo{
	display:inline-flex;align-items:center;justify-content:center;
	width:22px;height:22px;border-radius:50%;
	background:#f3f6fd;border:1px solid #cdd8f5;color:var(--blue-mid);
	vertical-align:middle;margin:0 2px;
}
.report-box{
	background:#ffffff;
	border:1px solid var(--line);
	border-radius:16px;
	padding:28px 32px 34px;
	box-shadow:0 14px 34px -22px rgba(16,63,149,.28);
	line-height:1.6;
	font-size:14px;
}
.copy-btn{
	display:inline-flex;align-items:center;gap:7px;
	background:var(--blue-accent);color:#fff;border:none;border-radius:10px;
	padding:9px 16px;font-family:'Lato',sans-serif;font-weight:600;font-size:13.5px;
	cursor:pointer;box-shadow:0 6px 14px -6px rgba(125,157,245,.7);
	transition:background .15s;margin:0 0 14px;
}
.copy-btn:hover{background:var(--navy);}
.copy-btn.copied{background:#1e9e5a;}

body.wl-body{background:var(--bg);font-family:'Lato',Arial,sans-serif;color:var(--ink);margin:0;padding:0 0 50px;}
.calendar{
	z-index:1001 !important;
}
.calendar .combo{
	z-index:1002 !important;
}
