@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap');

/* =================================================
   GLOBAL
================================================= */

*{
margin:0;
padding:0;
box-sizing:border-box;
}

body{
font-family:'Inter',sans-serif;
background:#f5f7fb;
color:#2c3e50;
}


/* =================================================
   LOGIN PAGE
================================================= */

.login-wrapper{
min-height:100vh;
display:flex;
justify-content:center;
align-items:center;
padding:20px;
}

.login-card{
width:420px;
max-width:100%;
background:#ffffff;
padding:45px;
border-radius:18px;
box-shadow:0 30px 60px rgba(0,0,0,0.08);
}

.login-logo{
text-align:center;
margin-bottom:25px;
}

.login-logo img{
height:60px;
}

.login-card h2{
text-align:center;
margin-bottom:30px;
font-weight:600;
}


/* =================================================
   FORM
================================================= */

.form-group{
margin-bottom:20px;
}

.form-group label{
display:block;
font-size:13px;
margin-bottom:6px;
font-weight:500;
}

.form-group input,
.form-group select{
width:100%;
padding:14px;
border-radius:10px;
border:1px solid #e0e6ed;
font-size:14px;
transition:0.3s;
}

.form-group input:focus,
.form-group select:focus{
outline:none;
border-color:#c40000;
box-shadow:0 0 0 3px rgba(196,0,0,0.08);
}

.form-box{
border:1px solid #cedff0;
border-radius:10px;
padding:20px;
margin-bottom:20px;
background:#fafbfc;
}

input[type="month"]{
width:100%;
padding:12px;
border-radius:8px;
border:1px solid #ddd;
}


/* =================================================
   BUTTONS
================================================= */

.btn-primary{
width:100%;
padding:14px;
border:none;
border-radius:10px;
background:#c40000;
color:#fff;
font-weight:600;
cursor:pointer;
transition:0.3s;
}

.btn-primary:hover{
background:#a80000;
}

.btn-danger{
background:#e74c3c;
color:#fff;
border:none;
padding:10px 15px;
border-radius:6px;
cursor:pointer;
}

.btn-danger:hover{
background:#c0392b;
}

.btn-warning{
background:#f39c12;
color:#fff;
border:none;
padding:10px 15px;
border-radius:6px;
cursor:pointer;
}

.btn-warning:hover{
background:#e67e22;
}


/* =================================================
   LINKS
================================================= */

.back-link{
display:block;
text-align:center;
margin-top:20px;
font-size:13px;
color:#7f8c8d;
text-decoration:none;
}

.back-link:hover{
color:#2c3e50;
}


/* =================================================
   ALERTS
================================================= */

.alert{
padding:12px;
border-radius:10px;
margin-bottom:20px;
font-size:14px;
}

.alert.success{
background:#e6f9ed;
border:1px solid #2ecc71;
color:#1e7e34;
}

.alert.error{
background:#ffe6e6;
border:1px solid #e74c3c;
color:#c0392b;
}


/* =================================================
   DASHBOARD LAYOUT
================================================= */

.dashboard{
display:flex;
min-height:100vh;
}

.main{
flex:1;
display:flex;
flex-direction:column;
}

.content{
padding:40px;
}

.section{
display:none;
}

.section.active{
display:block;
}

.card{
background:#ffffff;
padding:25px;
border-radius:14px;
box-shadow:0 10px 25px rgba(0,0,0,0.05);
margin-bottom:25px;
}


/* =================================================
   SIDEBAR
================================================= */

.sidebar{
width:260px;
background:#ffffff;
padding:35px 25px;
box-shadow:8px 0 30px rgba(0,0,0,0.05);
transition:0.3s ease;
z-index:1001;
}

.sidebar-header{
display:flex;
justify-content:space-between;
align-items:center;
margin-bottom:40px;
}

.sidebar h2{
font-weight:600;
}

.close-sidebar{
display:none;
cursor:pointer;
font-size:18px;
}

.sidebar ul{
list-style:none;
}

.sidebar li{
margin-bottom:18px;
font-weight:500;
cursor:pointer;
padding:10px 12px;
border-radius:8px;
transition:0.2s;
}

.sidebar li:hover{
background:#f1f3f7;
color:#c40000;
}

.sidebar a{
text-decoration:none;
color:inherit;
}


/* =================================================
   TOPBAR
================================================= */

.topbar{
background:#ffffff;
padding:20px 40px;
display:flex;
justify-content:space-between;
align-items:center;
box-shadow:0 5px 20px rgba(0,0,0,0.05);
}

.mobile-toggle{
display:none;
font-size:22px;
cursor:pointer;
margin-right:15px;
}

.user-info{
display:flex;
align-items:center;
gap:15px;
}

.profile-img{
width:55px;
height:55px;
border-radius:50%;
object-fit:cover;
}

.role-badge{
display:inline-block;
font-size:11px;
padding:6px 12px;
border-radius:20px;
color:#fff;
margin-top:4px;
}

.role-badge.admin{
background:#c40000;
}

.role-badge.mitarbeiter{
background:#3498db;
}

.logout-btn{
padding:10px 18px;
background:#c40000;
color:#fff;
border-radius:8px;
text-decoration:none;
font-size:14px;
transition:0.3s;
}

.logout-btn:hover{
background:#a80000;
}


/* =================================================
   DOCUMENTS
================================================= */

.document-item{
background:#fff;
padding:12px 18px;
border-radius:8px;
margin-bottom:10px;
box-shadow:0 3px 10px rgba(0,0,0,0.05);
}

.document-item a{
text-decoration:none;
color:#2c3e50;
font-weight:500;
}


/* =================================================
   ACTIVITY LOG
================================================= */

.activity-row{
display:flex;
justify-content:space-between;
align-items:center;
padding:12px;
border-bottom:1px solid #eee;
font-size:14px;
}

.activity-user{
font-weight:600;
width:200px;
}

.activity-text{
flex:1;
color:#555;
}

.activity-date{
color:#999;
font-size:13px;
white-space:nowrap;
}


/* =================================================
   PROJECT BOX
================================================= */

.project-box{
background:#ffffff;
border:1px solid #e5e7eb;
border-radius:12px;
padding:18px 20px;
margin-bottom:16px;
display:flex;
justify-content:space-between;
align-items:center;
flex-wrap:wrap;
gap:15px;
transition:0.2s;
}

.project-box:hover{
box-shadow:0 6px 18px rgba(0,0,0,0.06);
}

.project-info{
flex:1;
min-width:220px;
}

.project-title{
font-size:16px;
font-weight:600;
margin-bottom:6px;
}

.project-meta{
display:flex;
gap:18px;
font-size:13px;
color:#6b7280;
flex-wrap:wrap;
}

.project-actions{
display:flex;
gap:10px;
flex-wrap:wrap;
}


/* STATUS */

.status{
padding:4px 10px;
border-radius:6px;
font-size:12px;
font-weight:600;
}

.status.active{
background:#e6f9ed;
color:#1e7e34;
}

.status.inactive{
background:#ffe6e6;
color:#c0392b;
}


/* =================================================
   PROJECT CARD
================================================= */

.project-card{
display:flex;
background:#fff;
border-radius:12px;
overflow:hidden;
border:1px solid #e5e7eb;
margin-bottom:20px;
box-shadow:0 6px 16px rgba(0,0,0,0.05);
}

.project-cover{
width:220px;
height:160px;
overflow:hidden;
}

.project-cover img{
width:100%;
height:100%;
object-fit:cover;
}

.project-body{
padding:16px 20px;
flex:1;
display:flex;
flex-direction:column;
justify-content:space-between;
}


/* =================================================
   MOBILE OVERLAY
================================================= */

.mobile-overlay{
position:fixed;
inset:0;
background:rgba(0,0,0,0.4);
backdrop-filter:blur(2px);
display:none;
z-index:1000;
}

.mobile-overlay.active{
display:block;
}


/* =================================================
   MOBILE RESPONSIVE
================================================= */

@media(max-width:900px){

.dashboard{
flex-direction:column;
}

.sidebar{
position:fixed;
left:-280px;
top:0;
height:100%;
width:260px;
padding:30px;
transition:0.3s ease;
}

.sidebar.active{
left:0;
}

.close-sidebar{
display:block;
}

.mobile-toggle{
display:block;
}

.topbar{
padding:20px;
}

.content{
padding:20px;
}

.login-card{
padding:35px;
}

.activity-row{
flex-direction:column;
align-items:flex-start;
gap:6px;
}

.activity-user{
width:100%;
}

.activity-date{
font-size:12px;
}

}


@media(max-width:768px){

.form-box{
padding:15px;
}

.form-group input,
.form-group select{
font-size:16px;
}

.btn-primary{
width:100%;
}

.project-box{
flex-direction:column;
align-items:flex-start;
padding:18px;
}

.project-meta{
flex-direction:column;
gap:5px;
}

.project-actions{
width:100%;
display:flex;
flex-direction:column;
gap:8px;
margin-top:10px;
}

.project-actions a{
width:100%;
text-align:center;
}

.project-card{
flex-direction:column;
}

.project-cover{
width:100%;
height:200px;
}

.project-body{
padding:15px;
}

.project-meta{
flex-direction:column;
gap:4px;
}

.project-actions{
flex-direction:column;
}

.project-actions a{
width:100%;
text-align:center;
}

}