/* =========================================================
   PAGE
========================================================= */

body{
    background:#f1f5f9;
}

/* =========================================================
   MAIN CONTAINER
========================================================= */

.checkin-container{
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:32px;
    padding:30px;
    box-shadow:
    0 4px 24px rgba(15,23,42,0.04);
}

/* =========================================================
   SECTION CARD
========================================================= */

.dashboard-card{
    background:#63e5e7c7;
    border:1px solid #e7edf3;
    border-radius:26px;
    padding:26px;
    margin-bottom:22px;
    transition:all 0.25s ease;
    box-shadow:
    0 1px 2px rgba(15,23,42,0.03);
}

.dashboard-card:hover{
    border-color:#dbe2ea;
    box-shadow:
    0 6px 24px rgba(15,23,42,0.05);
}

/* =========================================================
   SECTION TITLE
========================================================= */

.section-title{
    font-size:1.4rem;
    font-weight:800;
    color:#0f172a;
    margin-bottom:4px;
    letter-spacing:-0.4px;
    line-height:1.2;
}

/* =========================================================
   SECTION SUBTITLE
========================================================= */

.section-subtitle{
    color:#64748b;
    font-size:0.92rem;
    margin-bottom:22px;
}

/* =========================================================
   LABEL
========================================================= */

.checkin-label{
    display:block;
    margin-bottom:11px;
    font-size:14px;
    font-weight:700;
    color:#334155;
    letter-spacing:0.2px;
}

/* =========================================================
   INPUT / SELECT
========================================================= */

.checkin-input{
    width:100%;
    height:56px;
    border:1px solid #dbe2ea;
    border-radius:18px;
    background:#f8fafc;
    padding:0 18px;
    font-size:15px;
    font-weight:500;
    color:#0f172a;
    outline:none;
    transition:all 0.2s ease;
}

.checkin-input::placeholder{
    color:#94a3b8;
    font-weight:400;
}

.checkin-input:focus{
    background:#ffffff;
    border-color:#cbd5e1;
    box-shadow:
    0 0 0 4px rgba(148,163,184,0.10);
}

/* =========================================================
   TEXTAREA
========================================================= */

textarea.checkin-input{
    min-height:120px;
    padding:18px;
    resize:vertical;
}

/* =========================================================
   SELECT
========================================================= */

select.checkin-input{
    appearance:none;
    -webkit-appearance:none;
    cursor:pointer;
}

/* =========================================================
   FILE INPUT
========================================================= */

input[type="file"].checkin-input{
    padding:14px;
}

/* =========================================================
   BOOKING SOURCE
========================================================= */

.booking-source-row{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:14px;
}

/* =========================================================
   BOOKING CARD
========================================================= */

.booking-source-card{
    height:56px;
    border:1px solid #dbe2ea;
    border-radius:18px;
    background:#ffffff;
    display:flex;
    align-items:center;
    gap:12px;
    padding:0 18px;
    cursor:pointer;
    transition:all 0.2s ease;
}

.booking-source-card:hover{
    border-color:#cbd5e1;
    background:#f8fafc;
    transform:translateY(-1px);
}

/* =========================================================
   RADIO
========================================================= */

.booking-radio{
    width:16px;
    height:16px;
    accent-color:#ca8a04;
}

/* =========================================================
   RADIO TEXT
========================================================= */

.booking-source-text{
    font-size:14px;
    font-weight:600;
    color:#0f172a;
}

/* =========================================================
   AMENITIES
========================================================= */

.amenity-grid{
    display:grid;
    grid-template-columns:
    repeat(auto-fit,minmax(240px,1fr));
    gap:18px;
}

.amenity-card{
    border:1px solid #e2e8f0;
    border-radius:22px;
    background:#ffffff;
    padding:20px;
    display:flex;
    align-items:center;
    gap:14px;
    transition:all 0.2s ease;
    cursor:pointer;
}

.amenity-card:hover{
    border-color:#cbd5e1;
    background:#f8fafc;
    transform:translateY(-2px);
}

/* =========================================================
   SUMMARY
========================================================= */

.summary-card{
    background:#ffffff;
    border:1px solid #e2e8f0;
    border-radius:28px;
    padding:26px;
    box-shadow:
    0 2px 12px rgba(15,23,42,0.04);
}

.summary-item{
    margin-bottom:26px;
}

.summary-item:last-child{
    margin-bottom:0;
}

.summary-label{
    font-size:13px;
    color:#64748b;
    margin-bottom:8px;
    font-weight:500;
}

.summary-value{
    font-size:2rem;
    font-weight:800;
    color:#0f172a;
    line-height:1.1;
}

.summary-total{
    color:#dc2626;
}

/* =========================================================
   BUTTON
========================================================= */

.checkin-btn{
    width:100%;
    height:60px;
    border:none;
    border-radius:20px;
    background:#dc2626;
    color:#ffffff;
    font-size:16px;
    font-weight:700;
    letter-spacing:0.2px;
    cursor:pointer;
    transition:all 0.25s ease;
    box-shadow:
    0 10px 20px rgba(220,38,38,0.18);
}

.checkin-btn:hover{
    background:#b91c1c;
    transform:translateY(-1px);
}

/* =========================================================
   ALERTS
========================================================= */

.success-alert{
    background:#dcfce7;
    border:1px solid #bbf7d0;
    color:#166534;
    padding:16px 18px;
    border-radius:18px;
    margin-bottom:20px;
}

.error-alert{
    background:#fee2e2;
    border:1px solid #fecaca;
    color:#991b1b;
    padding:16px 18px;
    border-radius:18px;
    margin-bottom:20px;
}

/* =========================================================
   RESPONSIVE
========================================================= */

@media(max-width:1024px){

    .booking-source-row{
        grid-template-columns:repeat(2,1fr);
    }

}

@media(max-width:768px){

    .checkin-container{
        padding:20px;
        border-radius:24px;
    }

    .dashboard-card{
        padding:20px;
        border-radius:22px;
    }

    .summary-value{
        font-size:1.7rem;
    }

}

@media(max-width:480px){

    .booking-source-row{
        grid-template-columns:1fr;
    }

}

