@import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700&display=swap');

*{
box-sizing:border-box;
}

body{
font-family:'Poppins', sans-serif;
background:#f5f5f5;
margin:0;
padding:0;
color:#333;
}

a{
text-decoration:none;
color:inherit;
}

/* ===== LOGIN ===== */

.login-wrapper{
min-height:100vh;
display:flex;
align-items:center;
justify-content:center;
padding:20px;
}

.login-box{
max-width:340px;
width:100%;
background:white;
padding:36px 28px;
border-radius:14px;
text-align:center;
box-shadow:0 10px 30px rgba(0,0,0,0.08);
}

.login-box h2{
margin-top:0;
margin-bottom:6px;
color:#222;
}

.login-box .subtitle{
font-size:13px;
color:#888;
margin-bottom:20px;
}

.login-error{
background:#fde8ee;
color:#c0356e;
padding:10px;
border-radius:8px;
font-size:14px;
margin-bottom:10px;
}

/* ===== LAYOUT GENERAL ADMIN ===== */

.admin-topbar{
background:white;
padding:16px 28px;
display:flex;
align-items:center;
justify-content:space-between;
box-shadow:0 2px 10px rgba(0,0,0,0.05);
position:sticky;
top:0;
z-index:50;
}

.admin-topbar .brand{
font-weight:700;
font-size:18px;
color:#222;
display:flex;
align-items:center;
gap:8px;
}

.admin-topbar .brand span{
color:#EB7FAE;
}

.admin-nav{
display:flex;
gap:8px;
flex-wrap:wrap;
}

.admin-nav a{
padding:9px 16px;
border-radius:8px;
font-size:14px;
font-weight:500;
color:#555;
transition:.15s;
}

.admin-nav a:hover{
background:#f5f5f5;
}

.admin-nav a.active{
background:#fde8ee;
color:#c0356e;
}

.admin-nav a.logout{
color:#c0356e;
}

.admin-container{
max-width:1100px;
margin:0 auto;
padding:28px 20px 60px;
}

.page-title{
display:flex;
align-items:center;
justify-content:space-between;
flex-wrap:wrap;
gap:12px;
margin-bottom:22px;
}

.page-title h1{
margin:0;
font-size:24px;
color:#222;
}

.page-title .count{
font-size:13px;
color:#999;
font-weight:500;
}

/* ===== BUTOANE ===== */

.btn{
display:inline-flex;
align-items:center;
gap:8px;
background:#EB7FAE;
color:white;
border:none;
padding:11px 18px;
border-radius:8px;
cursor:pointer;
font-family:inherit;
font-size:14px;
font-weight:500;
transition:.15s;
}

.btn:hover{
background:#d9699b;
}

.btn-secondary{
background:#f0f0f0;
color:#444;
}

.btn-secondary:hover{
background:#e3e3e3;
}

.btn-danger{
background:#fff0f3;
color:#c0356e;
}

.btn-danger:hover{
background:#fde0e8;
}

.btn-small{
padding:7px 12px;
font-size:13px;
}

.btn-block{
width:100%;
justify-content:center;
}

/* ===== CARDURI / FORMULARE ===== */

.card{
background:white;
border-radius:14px;
padding:24px;
box-shadow:0 4px 16px rgba(0,0,0,0.05);
margin-bottom:20px;
}

label{
display:block;
font-size:13px;
font-weight:600;
color:#555;
margin-top:14px;
margin-bottom:4px;
}

label:first-of-type{
margin-top:0;
}

input, textarea, select{
width:100%;
padding:11px 12px;
border:1px solid #e2e2e2;
border-radius:8px;
font-family:inherit;
font-size:14px;
background:#fafafa;
}

input:focus, textarea:focus, select:focus{
outline:none;
border-color:#EB7FAE;
background:white;
}

textarea{
resize:vertical;
min-height:90px;
}

.form-row{
display:grid;
grid-template-columns:1fr 1fr;
gap:14px;
}

@media (max-width:560px){
.form-row{
grid-template-columns:1fr;
}
}

.form-actions{
margin-top:20px;
display:flex;
gap:10px;
}

.hint{
font-size:12px;
color:#999;
margin-top:4px;
}

.success-banner{
background:#e9f7ef;
color:#1e8449;
padding:12px 16px;
border-radius:8px;
margin-bottom:18px;
font-size:14px;
font-weight:500;
}

.error-banner{
background:#fde8ee;
color:#c0356e;
padding:12px 16px;
border-radius:8px;
margin-bottom:18px;
font-size:14px;
font-weight:500;
}

/* ===== LISTA EVENIMENTE ===== */

.event-box{
background:white;
padding:20px;
margin-bottom:16px;
border-radius:14px;
box-shadow:0 4px 16px rgba(0,0,0,0.05);
}

.event-head{
display:flex;
justify-content:space-between;
align-items:flex-start;
gap:12px;
flex-wrap:wrap;
}

.event-head h3{
margin:0 0 6px;
color:#222;
}

.event-dates{
font-size:13px;
color:#EB7FAE;
font-weight:600;
margin:0 0 10px;
}

.event-desc{
color:#666;
font-size:14px;
line-height:1.5;
margin:0 0 14px;
white-space:pre-line;
}

.event-actions{
display:flex;
gap:8px;
flex-shrink:0;
}

.event-gallery{
display:grid;
grid-template-columns:repeat(auto-fill, minmax(90px, 1fr));
gap:8px;
margin-top:12px;
}

.event-gallery .thumb{
position:relative;
width:100%;
aspect-ratio:1/1;
border-radius:8px;
overflow:hidden;
background:#eee;
}

.event-gallery .thumb img{
width:100%;
height:100%;
object-fit:cover;
display:block;
}

.no-images{
font-size:13px;
color:#aaa;
margin-top:10px;
}

.empty-state{
text-align:center;
padding:50px 20px;
color:#999;
}

.empty-state i{
font-size:36px;
color:#ddd;
margin-bottom:12px;
display:block;
}

/* ===== MODAL CONFIRMARE ===== */

.modal-overlay{
display:none;
position:fixed;
top:0;left:0;right:0;bottom:0;
background:rgba(0,0,0,0.45);
align-items:center;
justify-content:center;
z-index:100;
padding:20px;
}

.modal-overlay.active{
display:flex;
}

.modal-box{
background:white;
border-radius:14px;
padding:26px;
max-width:360px;
width:100%;
text-align:center;
}

.modal-box h3{
margin:0 0 8px;
color:#222;
}

.modal-box p{
color:#777;
font-size:14px;
margin:0 0 20px;
}

.modal-actions{
display:flex;
gap:10px;
}

.modal-actions .btn{
flex:1;
justify-content:center;
}

/* ===== UPLOAD POZE ===== */

.file-drop{
border:2px dashed #e2e2e2;
border-radius:10px;
padding:24px;
text-align:center;
color:#999;
font-size:14px;
background:#fafafa;
cursor:pointer;
}

.file-drop i{
font-size:26px;
display:block;
margin-bottom:8px;
color:#EB7FAE;
}

.file-list{
margin-top:10px;
font-size:13px;
color:#666;
}

/* ===== DOCUMENTE ===== */
.doc-row{
display:flex;
align-items:center;
justify-content:space-between;
gap:16px;
flex-wrap:wrap;
}