body{
    font-family: Arial, sans-serif;
    background:#f5f7fb;
    margin:0;
    padding:0;
}

header{
    background:#1E88E5;
    color:white;
    text-align:center;
    padding:40px;
}

h1{
    margin:0;
    font-size:48px;
}

p{
    font-size:20px;
}

main{
    padding:40px;
}

button{
    background:#ff9800;
    color:white;
    border:none;
    padding:15px 30px;
    font-size:18px;
    border-radius:8px;
    cursor:pointer;
}

button:hover{
    background:#f57c00;
}/* Navigation Bar */

nav{
    display:flex;
    justify-content:space-between;
    align-items:center;
    padding:20px 50px;
    background:#1E88E5;
}

.logo{
    color:white;
    font-size:32px;
    font-weight:bold;
}

nav ul{
    list-style:none;
    display:flex;
    gap:30px;
    margin:0;
    padding:0;
}

nav a{
    color:white;
    text-decoration:none;
    font-size:18px;
    font-weight:bold;
}

nav a:hover{
    color:#FFD54F;
}/* Hero Section */

.hero {
    background: #f4f6f9;
    text-align: center;
    padding: 80px 20px;
}

.hero h1 {
    font-size: 48px;
    color: #222;
    margin-bottom: 20px;
}

.hero p {
    font-size: 22px;
    color: #555;
    max-width: 700px;
    margin: 0 auto 30px;
    line-height: 1.6;
}
/* Search Box */

.search-box{
    margin-top:50px;
    display:flex;
    justify-content:center;
    gap:10px;
    flex-wrap:wrap;
}

.search-box input{
    width:450px;
    max-width:90%;
    padding:15px;
    font-size:18px;
    border:2px solid #1E88E5;
    border-radius:8px;
    outline:none;
}

.search-box button{
    padding:15px 30px;
}/* ==========================
   Recently Missing Pets
========================== */

.pets{
    padding: 80px 50px;
    background: white;
}

.pets h2{
    text-align: center;
    font-size: 38px;
    margin-bottom: 50px;
    color: #333;
}

.pet-grid{
    display: flex;
    justify-content: center;
    gap: 30px;
    flex-wrap: wrap;
}

.pet-card{
    background: white;
    width: 280px;
    padding: 25px;
    border-radius: 15px;
    box-shadow: 0 8px 20px rgba(0,0,0,0.1);
    text-align: center;
    transition: 0.3s;
}

.pet-card:hover{
    transform: translateY(-8px);
}

.pet-card h3{
    margin-top: 0;
    color: #1E88E5;
}

.pet-card p{
    color: #666;
}/* ==========================
   How It Works
========================== */

.how-it-works{
    padding:80px 50px;
    background:#f5f7fb;
    text-align:center;
}

.how-it-works h2{
    font-size:38px;
    margin-bottom:50px;
    color:#333;
}

.steps{
    display:flex;
    justify-content:center;
    gap:30px;
    flex-wrap:wrap;
}

.step{
    background:white;
    width:280px;
    padding:30px;
    border-radius:15px;
    box-shadow:0 8px 20px rgba(0,0,0,0.1);
}

.step-number{
    width:60px;
    height:60px;
    margin:0 auto 20px;
    border-radius:50%;
    background:#1E88E5;
    color:white;
    display:flex;
    justify-content:center;
    align-items:center;
    font-size:28px;
    font-weight:bold;
}/* ==========================
   Footer
========================== */

footer{
    background:#1E88E5;
    color:white;
    text-align:center;
    padding:40px 20px;
}

.footer-container{
    max-width:900px;
    margin:auto;
}

.footer-container h3{
    margin-bottom:15px;
}

.footer-container p{
    color:white;
    margin:8px 0;
}
.pet-card img{
    width:100%;
    height:200px;
    object-fit:cover;
    border-radius:10px;
    margin-bottom:15px;
}
/* Active Navigation Link */

nav a.active{
    color:#FFD54F;
}
/* ==========================
   Report Lost Pet Form
========================== */

.report-form{
width:700px;
max-width:100%;
    margin:50px auto;
    background:white;
    padding:40px;
    border-radius:10px;
    box-shadow:0 2px 8px rgba(0,0,0,.08);
}

.report-form h2{
    margin-top:0;
    color:#333;
}

.report-form p{
    color:#666;
    margin-bottom:30px;
}

.report-form label{
    display:block;
    margin-top:20px;
    margin-bottom:8px;
    font-weight:bold;
}

.report-form input,
.report-form select,
.report-form textarea{
    width:100%;
    padding:12px;
    border:1px solid #ccc;
    border-radius:5px;
    font-size:16px;
    box-sizing:border-box;
}

.report-form textarea{
    height:120px;
    resize:vertical;
}

.report-form button{
    margin-top:30px;
    width:100%;
}
.notice{
    margin-top:25px;
    padding:20px;
    background:#FFF8E1;
    border-left:5px solid #FF9800;
    border-radius:5px;
}

.notice p{
    margin:10px 0 0;
    color:#444;
}
.button-link{
    display:inline-block;
    background:#ff9800;
    color:white;
    text-decoration:none;
    padding:12px 24px;
    border-radius:5px;
    margin-top:10px;
}

.button-link:hover{
    background:#f57c00;
}
/* ===================================
   PET IMAGES
=================================== */

.pet-photo{
    width:100%;
    height:220px;
    object-fit:cover;
    border-radius:8px;
    margin-bottom:15px;
}

/* ===================================
   FEATURED LISTINGS
=================================== */

.pet-card{
    position:relative;
}

.featured-badge{

    position:absolute;

    top:10px;

    right:10px;

    background:#FFD700;

    color:#000;

    padding:6px 12px;

    border-radius:20px;

    font-size:13px;

    font-weight:bold;

    box-shadow:0 2px 6px rgba(0,0,0,.2);

}

.pet-card:has(.featured-badge){

    border:3px solid #FFD700;

}

/* ===================================
   PET DETAILS PAGE
=================================== */

.pet-details{

    max-width:800px;

    margin:40px auto;

    background:white;

    padding:30px;

    border-radius:10px;

    box-shadow:0 2px 10px rgba(0,0,0,.1);

}

.detail-photo{

    width:100%;

    max-height:450px;

    object-fit:cover;

    border-radius:10px;

    margin-bottom:25px;

}

.pet-details h2{

    margin-top:0;

}

.pet-details p{

    font-size:18px;

    margin:12px 0;

}
/* ===========================
ACTION BUTTONS
=========================== */

.action-buttons{

display:flex;

gap:15px;

margin-top:25px;

flex-wrap:wrap;

}

#deletePetButton{

background:#d32f2f;

}

#deletePetButton:hover{

background:#b71c1c;

}
#foundPetButton{

background:#2e7d32;

}

#foundPetButton:hover{

background:#1b5e20;

}
/* ===========================
STATISTICS
=========================== */

.statistics{

padding:40px 20px;

text-align:center;

}

.stats-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

gap:20px;

margin-top:30px;

}

.stat-card{

background:white;

padding:25px;

border:1px solid #ddd;

border-radius:6px;

}

.stat-card h3{

font-size:38px;

margin-bottom:10px;

color:#0b6efd;

}

.stat-card p{

font-size:16px;

}
/* ===========================
ADVANCED SEARCH
=========================== */

.search-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(180px,1fr));

gap:15px;

margin-bottom:35px;

}

.search-grid input,
.search-grid select{

padding:12px;

border:1px solid #ccc;

border-radius:5px;

font-size:15px;

}

.search-grid button{

width:100%;

}
/* ===========================
   LEAFLET MAP
=========================== */

#reportMap{

width:100%;

height:400px;

margin-top:15px;

margin-bottom:20px;

border:2px solid #1E88E5;

border-radius:10px;

overflow:hidden;

}

.map-note{

font-size:15px;

color:#666;

margin:10px 0;

}

.leaflet-container{

border-radius:10px;

}
/* ===========================
LOCATION AUTOCOMPLETE
=========================== */

#locationSuggestions{

background:white;

border:1px solid #ddd;

border-radius:6px;

margin-top:5px;

max-height:250px;

overflow-y:auto;

display:none;

box-shadow:0 5px 15px rgba(0,0,0,.15);

}

.location-item{

padding:12px;

cursor:pointer;

border-bottom:1px solid #eee;

}

.location-item:hover{

background:#f5f7fb;

}
/* ===================================================
   REPORT PET PAGE
=================================================== */

.report-layout{

    max-width:1500px;

    margin:40px auto;

    padding:0 30px;

    display:grid;

    grid-template-columns:1fr 520px;

    gap:40px;

    align-items:start;

}

.report-form{

    background:white;

    border-radius:12px;

    padding:35px;

    box-shadow:0 4px 15px rgba(0,0,0,.08);

}

.report-form h2{

    margin-top:0;

    margin-bottom:10px;

}

.report-form p{

    color:#666;

    font-size:16px;

    margin-bottom:30px;

}


/* ---------- FORM GRID ---------- */

.form-grid{

display:grid;

grid-template-columns:repeat(2,1fr);

gap:20px;

margin-bottom:20px;

}

.report-form label{

display:block;

font-weight:bold;

margin-bottom:8px;

}

.report-form input,
.report-form select,
.report-form textarea{

width:100%;

padding:12px;

border:1px solid #ccc;

border-radius:6px;

font-size:16px;

box-sizing:border-box;

}

.report-form textarea{

height:130px;

resize:vertical;

margin-bottom:20px;

}

.report-form button{

width:100%;

margin-top:20px;

}

/* ---------- MAP ---------- */

.location-card{

    background:white;

    padding:20px;

    border-radius:12px;

    box-shadow:0 4px 15px rgba(0,0,0,.08);

    position:sticky;

    top:30px;

}

.location-card h2{

    margin-top:0;

}

#reportMap{

    width:100%;

    height:720px;

    border-radius:10px;

    overflow:hidden;

    border:2px solid #1E88E5;

}

.location-card p{

    font-size:14px;

    color:#666;

    margin-top:15px;

}

/* ---------- MOBILE ---------- */

@media (max-width:1000px){

    /* Header */

    header{
        padding:0;
    }

    nav{
        padding:12px 18px;
    }

    .logo{
        font-size:16px;
    }

    /* Layout */

    .report-layout{

        grid-template-columns:1fr;

        padding:20px;

        margin:20px auto;

        gap:20px;

    }

    .report-form button{

width:100%;

padding:15px;

font-size:17px;

border-radius:8px;

margin-top:15px;

}

    .form-grid{

        grid-template-columns:1fr;

        gap:18px;

    }

    .location-card{

        position:static;

        width:100%;

        padding:20px;

    }

    #reportMap{

        height:320px;

    }

}
/* ==========================
   PHOTO PREVIEW
========================== */

#photoPreview{

display:none;

width:220px;

height:220px;

object-fit:cover;

border-radius:12px;

border:2px solid #1E88E5;

margin-top:15px;

box-shadow:0 4px 10px rgba(0,0,0,.15);

}
/* ===================================
   MOBILE NAVIGATION
=================================== */

.menu-toggle{

display:none;

background:none;

border:none;

font-size:30px;

color:white;

cursor:pointer;

}

@media(max-width:900px){

nav{

flex-wrap:wrap;

padding:20px;

}

.menu-toggle{

display:block;

}

nav ul{

display:none;

width:100%;

flex-direction:column;

margin-top:20px;

gap:15px;

}

nav ul.show{

display:flex;

}

nav ul li{

text-align:center;

}

}
/* ==========================================
   MOBILE RESPONSIVE
========================================== */

@media (max-width:768px){

    /* Navigation */

    nav{
        padding:15px 20px;
        flex-wrap:wrap;
        align-items:center;
    }

    .logo{
        font-size:28px;
        flex:1;
    }

    .menu-toggle{
        display:block;
        font-size:32px;
        color:#fff;
        cursor:pointer;
        background:none;
        border:none;
        padding:0;
    }

    nav ul{
        display:none;
        width:100%;
        flex-direction:column;
        margin-top:15px;
        gap:0;
        background:#1E88E5;
    }

    nav ul.show{
        display:flex;
    }

    nav ul li{
        width:100%;
    }

    nav ul li a{
        display:block;
        padding:15px;
        text-align:center;
        border-top:1px solid rgba(255,255,255,.15);
    }

    /* Hero */

    .hero{
        padding:60px 20px;
    }

    .hero h1{
        font-size:34px;
    }

    .hero p{
        font-size:18px;
    }

    /* Sections */

    main{
        padding:20px;
    }

    .pets,
    .how-it-works,
    .statistics{
        padding:50px 20px;
    }

    /* Cards */

    .pet-card,
    .step,
    .stat-card{
        width:100%;
    }

    /* Search */

    .search-box{
        flex-direction:column;
        align-items:center;
    }

    .search-box input{
        width:100%;
    }

    .search-box button{
        width:100%;
    }

    /* Report Page */

    .report-layout{
        grid-template-columns:1fr;
        padding:20px;
        margin:20px auto;
    }

    .report-form{
        padding:25px;
    }

    .form-grid{
        grid-template-columns:1fr;
    }

    .location-card{
        position:static;
    }

    #reportMap{
        height:350px;
    }

}
/* ==========================
   AUTH PAGES
========================== */

.auth-page{
    min-height:80vh;
    display:flex;
    justify-content:center;
    align-items:center;
    padding:40px 20px;
}

.auth-card{

    width:100%;
    max-width:500px;

    background:#fff;

    padding:40px;

    border-radius:15px;

    box-shadow:0 8px 25px rgba(0,0,0,.15);

}

.auth-card h2{

    text-align:center;

    margin-bottom:10px;

    color:#1d3557;

}

.auth-card p{

    text-align:center;

    color:#666;

    margin-bottom:30px;

}

.auth-card label{

    display:block;

    margin-top:18px;

    margin-bottom:8px;

    font-weight:600;

}

.auth-card input{

    width:100%;

    padding:14px;

    border:1px solid #ccc;

    border-radius:8px;

    font-size:15px;

    box-sizing:border-box;

}

.auth-card button{

    width:100%;

    margin-top:30px;

    padding:14px;

    font-size:16px;

}

.auth-links{

    text-align:center;

    margin-top:25px;

}

.auth-links a{

    color:#1e88e5;

    text-decoration:none;

}

.auth-links a:hover{

    text-decoration:underline;

}
.dashboard-buttons{

display:flex;

flex-wrap:wrap;

gap:10px;

margin-top:15px;

}

.dashboard-buttons button{

flex:1;

min-width:110px;

}
.featured-info{

    background:#fff7df;

    border-left:5px solid orange;

    padding:15px;

    margin:15px 0;

    border-radius:8px;

}

.featured-info h4{

    margin-bottom:10px;

}

.featured-info p{

    margin:8px 0;

}
.paymentButton{

    display:inline-block;

    background:#27ae60;

    color:#fff;

    padding:14px 28px;

    border-radius:8px;

    text-decoration:none;

    font-weight:bold;

}

#paymentCompleted{

    background:#3498db;

    color:white;

    border:none;

    padding:12px 22px;

    border-radius:8px;

    cursor:pointer;

}
/* ==========================================
   ADMIN DASHBOARD
========================================== */

.admin-body{

background:#f5f7fb;

margin:0;

font-family:Arial,Helvetica,sans-serif;

}

.admin-container{

display:flex;

min-height:100vh;

}

/* SIDEBAR */

.sidebar{

width:260px;

background:#1e293b;

color:#fff;

padding:25px 0;

display:flex;

flex-direction:column;

}

.sidebar .logo{

text-align:center;

padding-bottom:25px;

border-bottom:1px solid rgba(255,255,255,.15);

}

.sidebar .logo h2{

margin:0;

font-size:24px;

}

.sidebar .logo p{

margin-top:8px;

opacity:.7;

font-size:14px;

}

.sidebar ul{

list-style:none;

padding:0;

margin:30px 0 0;

}

.sidebar li{

padding:16px 28px;

cursor:pointer;

transition:.25s;

font-size:15px;

}

.sidebar li i{

width:25px;

}

.sidebar li:hover{

background:#334155;

}

.sidebar li.active{

background:#2563eb;

}

/* MAIN */

.admin-main{

flex:1;

padding:35px;

}

.admin-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:30px;

}

.admin-header h1{

margin:0;

font-size:30px;

}

#adminEmail{

font-size:15px;

color:#666;

}

/* STATS */

.stats-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(220px,1fr));

gap:20px;

margin-bottom:35px;

}

.stat-card{

background:#fff;

border-radius:14px;

padding:25px;

box-shadow:0 8px 20px rgba(0,0,0,.08);

text-align:center;

transition:.25s;

}

.stat-card:hover{

transform:translateY(-4px);

}

.stat-card i{

font-size:34px;

color:#ff7a00;

margin-bottom:15px;

}

.stat-card h2{

margin:0;

font-size:36px;

color:#222;

}

.stat-card p{

margin-top:10px;

color:#666;

font-size:15px;

}

/* TABLE */

.table-section{

background:#fff;

padding:25px;

border-radius:14px;

box-shadow:0 8px 20px rgba(0,0,0,.08);

}

.table-header{

display:flex;

justify-content:space-between;

align-items:center;

margin-bottom:20px;

}

.admin-table{

width:100%;

border-collapse:collapse;

}

.admin-table th{

background:#f2f5fa;

padding:14px;

text-align:left;

font-size:14px;

}

.admin-table td{

padding:14px;

border-bottom:1px solid #eee;

font-size:14px;

}

.admin-table tr:hover{

background:#fafafa;

}

/* BUTTONS */

.viewBtn{

background:#2563eb;

color:#fff;

border:none;

padding:8px 14px;

border-radius:6px;

cursor:pointer;

margin-right:6px;

}

.deleteBtn{

background:#e53935;

color:#fff;

border:none;

padding:8px 14px;

border-radius:6px;

cursor:pointer;

}

.viewBtn:hover{

background:#1d4ed8;

}

.deleteBtn:hover{

background:#c62828;

}

/* MOBILE */

@media(max-width:900px){

.admin-container{

flex-direction:column;

}

.sidebar{

width:100%;

}

.admin-main{

padding:20px;

}

.stats-grid{

grid-template-columns:1fr;

}

.admin-table{

display:block;

overflow-x:auto;

white-space:nowrap;

}

}
/* ==========================================
   MY ACCOUNT DASHBOARD
========================================== */

.account-header{

display:flex;

justify-content:space-between;

align-items:center;

flex-wrap:wrap;

gap:25px;

margin-bottom:30px;

}

.profile-box{

display:flex;

align-items:center;

gap:20px;

}

.profile-avatar{

width:85px;

height:85px;

border-radius:50%;

background:#0f766e;

display:flex;

align-items:center;

justify-content:center;

font-size:40px;

color:white;

font-weight:bold;

box-shadow:0 8px 20px rgba(0,0,0,.15);

}

.profile-box h1{

margin:0;

font-size:32px;

}

.profile-box p{

margin-top:8px;

color:#666;

}

.account-buttons{

display:flex;

gap:15px;

flex-wrap:wrap;

}

.primaryButton{

background:#0f766e;

color:white;

border:none;

padding:14px 24px;

border-radius:10px;

cursor:pointer;

font-size:15px;

font-weight:600;

transition:.25s;

}

.primaryButton:hover{

background:#0c5d57;

transform:translateY(-2px);

}

.dangerButton{

background:#d62828;

color:white;

border:none;

padding:14px 24px;

border-radius:10px;

cursor:pointer;

font-size:15px;

font-weight:600;

transition:.25s;

}

.dangerButton:hover{

background:#b71c1c;

transform:translateY(-2px);

}

/* ==========================================
   STATS
========================================== */

.stats-grid{

display:grid;

grid-template-columns:repeat(auto-fit,minmax(170px,1fr));

gap:20px;

margin:35px 0;

}

.stat-card{

background:white;

border-radius:16px;

padding:28px;

text-align:center;

box-shadow:0 10px 25px rgba(0,0,0,.08);

transition:.25s;

}

.stat-card:hover{

transform:translateY(-5px);

}

.stat-card h2{

font-size:38px;

margin-bottom:10px;

color:#0f766e;

}

.stat-card p{

font-size:15px;

color:#666;

}

/* ==========================================
   MY LISTINGS
========================================== */

.dashboard-buttons{

display:flex;

gap:10px;

flex-wrap:wrap;

margin-top:15px;

}

.dashboard-buttons button{

padding:10px 16px;

border:none;

border-radius:8px;

cursor:pointer;

font-size:14px;

font-weight:600;

transition:.25s;

}

.dashboard-buttons button:hover{

transform:translateY(-2px);

}

.dashboard-buttons button:nth-child(1){

background:#2563eb;

color:white;

}

.dashboard-buttons button:nth-child(2){

background:#f59e0b;

color:white;

}

.dashboard-buttons button:nth-child(3){

background:#16a34a;

color:white;

}

.dashboard-buttons button:nth-child(4){

background:#dc2626;

color:white;

}

/* ==========================================
   MOBILE
========================================== */

@media(max-width:768px){

.account-header{

flex-direction:column;

align-items:flex-start;

}

.profile-box{

flex-direction:column;

text-align:center;

width:100%;

}

.account-buttons{

width:100%;

}

.account-buttons a,

.account-buttons button{

width:100%;

}

}
/* ==========================================
STATUS BADGES
========================================== */

.statusBadge{

display:inline-block;

padding:6px 12px;

border-radius:999px;

font-size:13px;

font-weight:600;

color:white;

}

.statusLost{

background:#dc2626;

}

.statusFound{

background:#f59e0b;

}

.statusReunited{

background:#16a34a;

}

.featureBadge{

display:inline-block;

padding:5px 10px;

border-radius:999px;

background:#ffd54f;

color:#222;

font-size:12px;

font-weight:700;

margin-top:5px;

}
/* ==========================================
PROFILE
========================================== */

.profile-box{

display:flex;

align-items:center;

gap:25px;

flex-wrap:wrap;

}

.profile-photo{

width:120px;

height:120px;

border-radius:50%;

object-fit:cover;

object-position:center;

border:4px solid #ddd;

display:block;

background:#f5f5f5;

}

#profilePhotoInput{

margin-top:12px;

width:120px;

font-size:12px;

}

#editNameButton{

margin-left:10px;

padding:6px 12px;

border:none;

background:#3498db;

color:white;

border-radius:6px;

cursor:pointer;

font-size:14px;

}

#editNameButton:hover{

background:#2980b9;

}

#changePasswordButton{

margin-top:12px;

background:#f39c12;

color:white;

border:none;

padding:10px 16px;

border-radius:8px;

cursor:pointer;

}

#changePasswordButton:hover{

background:#d68910;

}