body {
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    background-color: #f4f4f9;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100vh;
    margin: 0;
}

.registration-container {
    background: white;
    padding: 2rem;
    border-radius: 8px;
    box-shadow: 0 4px 10px rgba(0,0,0,0.1);
    width: 300px;
}

h2 {
    text-align: center;
    color: #333;
}

.input-group {
    margin-bottom: 1rem;
}

label {
    display: block;
    margin-bottom: 5px;
    font-size: 0.9rem;
}

input {
    width: 100%;
    padding: 10px;
    border: 1px solid #ddd;
    border-radius: 4px;
    box-sizing: border-box; /* Ensures padding doesn't affect width */
}

button {
    width: 100%;
    padding: 10px;
    background-color: #ff1100;
    color: white;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    font-size: 1rem;
}

button:hover {
    background-color: #ff0000;
}

#message {
    text-align: center;
    font-size: 0.8rem;
    margin-top: 10px;
}


/*---------------------------------------------*//*---------------------------------------------*/

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    font-family: 'Poppins', sans-serif;
}

body {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 100vh;
    background: rgb(255, 62, 62);
}



.login-card {
    background: rgba(255, 255, 255, 0.95);
    padding: 50px;
    border-radius: 15px;
    box-shadow: 0 15px 35px rgba(0, 0, 0, 0.2);
    width: 450px;
    height: 550px;
    text-align: center;
    
}

h2 {
    color: #333;
    margin-bottom: 30px;
}

.input-box {
    margin-bottom: 20px;
}

.input-box input {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: 25px;
    outline: none;
    transition: 0.3s;
}

.input-box input:focus {
    border-color: #ff0000;
}

.options {
    display: flex;
    justify-content: space-between;
    font-size: 0.8rem;
    margin-bottom: 25px;
    color: #666;
}

.options a {
    color: #ff0000;
    text-decoration: none;
}

.login-btn {
    width: 100%;
    padding: 12px;
    background: #ff0000;
    border: none;
    border-radius: 25px;
    color: white;
    font-size: 1rem;
    cursor: pointer;
    transition: 0.3s;
}

.login-btn:hover {
    background: #ff0000;
}

.register-link {
    margin-top: 20px;
    font-size: 0.9rem;
}

.register-link a {
    color: #ff0000;
    font-weight: bold;
    text-decoration: none;
}













/* Custom Variables */
:root {
    --safety-red: #D32F2F;
    --charcoal-gray: #333333;
    --industrial-white: #FFFFFF;
    --text-dark: #222222;
    --bg-light: #F4F4F4;
}

* { 
    box-sizing: border-box; 
    margin: 0; 
    padding: 0; 
    font-family: 'Segoe UI', sans-serif; 
}

body { 
    background-color: var(--bg-light); 
    color: var(--text-dark); 
    min-height: 100vh;
    display: flex;
    flex-direction: column;
}

/* Header Styling */
.app-header {
    background-color: var(--charcoal-gray);
    color: var(--industrial-white);
    padding: 1.5rem;
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 4px solid var(--safety-red);
    width: 100%;
}

.app-header h1 { font-size: 1.2rem; letter-spacing: 2px; }

/* Dashboard Layout */
.container { 
    padding: 2rem 1rem; 
    width: 100%;
    max-width: 1200px; /* Limits width on huge monitors */
    margin: 0 auto;    /* Centers the whole app on desktop */
    flex: 1;           /* Makes container fill the vertical height */
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

.summary-card {
    background: var(--industrial-white);
    padding: 2rem;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    text-align: center;
    width: 100%;
}

.stat { 
    font-size: 4rem; 
    color: var(--safety-red); 
    font-weight: 800;
}

/* Main Action Button */
.btn-scan {
    width: 100%;
    max-width: 600px; /* Keeps it from getting too wide on desktop */
    margin: 0 auto 1.5rem auto; 
    padding: 2.5rem;
    background-color: var(--safety-red);
    color: white;
    border: none;
    border-radius: 16px;
    font-size: 1.5rem;
    font-weight: bold;
    cursor: pointer;
    box-shadow: 0 6px 0px #9a1a1a;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 10px;
}

.btn-scan:active { transform: translateY(3px); box-shadow: 0 3px 0px #9a1a1a; }

/* Responsive Grid Navigation */
.action-grid {
    display: grid;
    /* Default: 1 column for mobile */
    grid-template-columns: 1fr; 
    gap: 1rem;
    width: 100%;
}

.action-item {
    background: var(--charcoal-gray);
    color: white;
    padding: 2rem;
    text-align: center;
    border-radius: 12px;
    transition: background 0.2s;
    cursor: pointer;
}

.action-item:hover {
    background: #444;
}

.icon { font-size: 2rem; display: block; margin-bottom: 0.5rem; }

/* Verification Screen Component */
.verify-card {
    background: white;
    border: 2px solid var(--charcoal-gray);
    border-radius: 8px;
    padding: 1.5rem;
    margin-top: 1rem;
}

/* --- Responsive Breakpoints --- */

/* Tablet & Desktop Layout */
@media (min-width: 768px) {
    .container {
        padding: 3rem 2rem;
    }

    .summary-card {
        max-width: 400px;
        margin: 0 auto;
    }

    /* Change to 3 columns on larger screens */
    .action-grid {
        grid-template-columns: repeat(3, 1fr);
        max-width: 900px;
        margin: 0 auto;
    }

    .app-header h1 { font-size: 1.5rem; }
}

/* --- Dashboard Specific Overrides --- */

/* This fixes the "clumping" in the center only on the dashboard */
body.dashboard-page {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: flex-start; /* Fix: Aligns content to top, not center */
    min-height: 100vh;
    padding: 0;
}

/* Ensure the header stays full width */
.dashboard-page .app-header {
    width: 100%;
}

/* Fixes the container layout */
.dashboard-page .container {
    width: 100%;
    max-width: 900px;
    margin: 0 auto;
    padding: 2rem 1.5rem;
    display: flex;
    flex-direction: column;
    gap: 1.5rem;
}

/* Make the scan button look good on all screens */
.dashboard-page .btn-scan {
    width: 100%;
    max-width: 500px;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    align-items: center;
}

/* Grid Logic: 1 column on mobile, 3 columns on desktop */
.dashboard-page .action-grid {
    display: grid;
    grid-template-columns: 1fr; 
    gap: 1rem;
    width: 100%;
    max-width: 800px;
    margin: 0 auto;
}

.dashboard-page .action-item {
    width: 100%;
}

/* Responsive Desktop Switch */
@media (min-width: 768px) {
    .dashboard-page .action-grid {
        grid-template-columns: repeat(3, 1fr); 
    }
}

