body{
margin:0;
font-family:Arial, sans-serif;
background:#0b0b0b;
color:#fff;
-webkit-text-size-adjust:100%;
}

.main-wrapper{
display:flex;
justify-content:center;
align-items:flex-start;
padding:20px;
min-height:100vh;
box-sizing:border-box;
}

/* CARD */
.card{
background:linear-gradient(180deg,#ff3c3c,#ff2e85);
padding:20px;
border-radius:25px;
width:100%;
max-width:420px;
box-shadow:0 0 40px rgba(255,0,100,0.6);
box-sizing:border-box;
}

/* LOGO */
.logo{
width:80px;
height:80px;
background:#000;
border-radius:50%;
display:flex;
align-items:center;
justify-content:center;
margin:auto;
font-size:32px;
margin-top:-50px;
box-shadow:0 0 25px gold;
}

/* TEXT */
h1{
text-align:center;
margin:10px 0;
font-size:22px;
}

.subtitle{
text-align:center;
font-size:14px;
opacity:0.9;
}

/* LABELS */
label{
font-size:13px;
font-weight:bold;
color:#ffd700;
margin-top:5px;
display:block;
}

/* FORM */
.form{
display:flex;
flex-direction:column;
gap:10px;
}

input{
padding:12px;
border:none;
border-radius:12px;
font-size:14px;
width:100%;
box-sizing:border-box;
}

/* HOURS BOX */
#hours_preview{
background:#222;
color:#ffd700;
font-weight:bold;
text-align:center;
}

.time-preview{
text-align:center;
font-size:13px;
color:#ffd700;
}

/* BUTTON */
.primary-btn{
background:linear-gradient(45deg,#ffd700,#ffb300);
color:#000;
font-weight:bold;
padding:14px;
border-radius:15px;
border:none;
cursor:pointer;
box-shadow:0 0 20px gold;
width:100%;
}

/* FILTER */
.filter-box{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:15px;
}

.filter-group{
display:flex;
flex-direction:column;
flex:1;
min-width:140px;
}

/* EXPORT BUTTONS */
.export-btns{
display:flex;
flex-wrap:wrap;
gap:10px;
margin-top:10px;
}

.export-btns a{
flex:1;
text-align:center;
padding:10px;
border-radius:10px;
text-decoration:none;
font-weight:bold;
color:#000;
background:linear-gradient(45deg,#00ffcc,#00ccff);
min-width:120px;
}

/* TABLE */
.table-box{
background:#111;
margin-top:20px;
padding:15px;
border-radius:15px;
overflow-x:auto;
}

table{
width:100%;
font-size:12px;
border-collapse:collapse;
min-width:400px;
}

th,td{
padding:8px;
text-align:center;
white-space:nowrap;
}

tr:nth-child(even){
background:#1a1a1a;
}

/* DELETE BUTTON */
.delete-btn{
background:red;
color:#fff;
border:none;
padding:6px 10px;
border-radius:8px;
cursor:pointer;
}

/* SUMMARY */
.summary{
text-align:center;
margin-top:10px;
font-weight:bold;
color:#ffd700;
}

/* MODAL */
.modal{
display:none;
position:fixed;
top:0;
left:0;
width:100%;
height:100%;
background:rgba(0,0,0,0.8);
padding:20px;
box-sizing:border-box;
}

.modal.show{
display:flex;
justify-content:center;
align-items:center;
}

.modal-content{
background:#222;
padding:20px;
border-radius:15px;
text-align:center;
width:100%;
max-width:320px;
box-sizing:border-box;
}

/* MODAL BUTTONS */
#deleteModal button:first-child{
background:#ff0000;
color:#fff;
padding:10px;
border:none;
border-radius:10px;
margin:5px;
width:100%;
}

#deleteModal button:last-child{
background:#555;
color:#fff;
padding:10px;
border:none;
border-radius:10px;
margin:5px;
width:100%;
}

/* =========================
   RESPONSIVE BREAKPOINTS
========================= */

/* MOBILE */
@media (max-width:480px){

.card{
padding:15px;
border-radius:18px;
}

h1{
font-size:18px;
}

.logo{
width:65px;
height:65px;
font-size:26px;
margin-top:-40px;
}

input{
font-size:13px;
padding:10px;
}

.primary-btn{
padding:12px;
font-size:14px;
}

.export-btns{
flex-direction:column;
}

.filter-box{
flex-direction:column;
}

}

/* TABLET */
@media (max-width:768px){

.card{
max-width:95%;
}

}