@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;500;700&display=swap');

:root {
    --brand-primary: #1B263B; /* Deep Navy */
    --brand-accent: #E0E1DD;  /* Soft Bone White */
    --brand-highlight: #778DA9; /* Slate Blue */
    --text-main: #0D1B2A;
    --bg-light: #FFFFFF;
    --bg-alt: #F8F9FA;
}

body { 
    background: var(--bg-light); 
    color: var(--text-main); 
    font-family: 'Plus Jakarta Sans', sans-serif; 
    line-height: 1.8; 
    margin: 0; 
}

/* Elegant Header */
.main-header { 
    text-align: center; 
    padding: 100px 20px; 
    background: var(--brand-primary); 
    color: var(--brand-accent);
}

h1 { 
    font-size: 2.8rem; 
    font-weight: 700;
    margin: 0; 
    letter-spacing: 1px;
    text-transform: uppercase;
}

.sub-header {
    font-weight: 300;
    letter-spacing: 3px;
    margin-top: 10px;
    opacity: 0.8;
}

.btn-nav { 
    display: inline-block; 
    margin-top: 30px;
    padding: 14px 32px; 
    background: var(--brand-highlight); 
    color: white; 
    text-decoration: none; 
    font-weight: 500;
    border-radius: 2px; /* Sharp corners for a precise look */
    transition: all 0.3s ease;
}

.btn-nav:hover { background: #fff; color: var(--brand-primary); }

.container { max-width: 1000px; margin: 0 auto; padding: 80px 20px; }

/* Roadmap Cards - "Portfolio Style" */
.roadmap-main-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 40px; }
.roadmap-hero-card { 
    background: white; 
    border-bottom: 4px solid var(--brand-highlight); 
    padding: 30px; 
    box-shadow: 0 10px 30px rgba(0,0,0,0.05);
    transition: transform 0.3s ease;
}
.roadmap-hero-card:hover { transform: translateY(-5px); }

.status-badge { 
    color: var(--brand-highlight); 
    font-size: 0.8rem; 
    font-weight: 700; 
    text-transform: uppercase;
    letter-spacing: 1px;
    margin-bottom: 10px;
}

/* Refined Form - Minimalist & Trustworthy */
.bid-form { background: var(--bg-alt); padding: 50px; border-radius: 0; border: 1px solid #eee; }
.form-group { display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-bottom: 30px; }
input, textarea { 
    background: transparent; 
    border: none;
    border-bottom: 2px solid #ddd;
    color: var(--text-main); 
    padding: 12px 5px; 
    font-size: 1rem;
    width: 100%;
    box-sizing: border-box;
    transition: border-color 0.3s;
}
input:focus { border-bottom-color: var(--brand-primary); outline: none; }

.btn-submit { 
    background: var(--brand-primary); 
    color: white; 
    font-size: 1rem; 
    font-weight: 700; 
    padding: 20px; 
    border: none; 
    cursor: pointer; 
    width: 100%;
    text-transform: uppercase;
    letter-spacing: 2px;
}

@media (max-width: 768px) { .form-group { grid-template-columns: 1fr; } }

/* Calendar Visual Restoration */
#calendar-view {
    display: block;
    width: 100%;
    color: var(--text-main);
}

/* Ensure any internal calendar tables/grids are visible */
#calendar-view table {
    width: 100%;
    border-collapse: collapse;
}

#calendar-view td, #calendar-view th {
    border: 1px solid #eee;
    padding: 15px;
    text-align: center;
}

/* Milestone 1.4: Essential Calendar Visibility */
#calendar-view {
    min-height: 600px;
    background-color: #f9f9f9; /* Bone White */
    border: 2px solid #001f3f; /* Navy Blue */
    display: block !important;
    position: relative;
    z-index: 10;
}

/* Restoration of Milestone 1.4 Calendar Grid */
#calendar-view {
    min-height: 500px !important;
    width: 100%;
    background-color: #ffffff;
    border: 1px solid #001f3f;
    display: block !important;
    visibility: visible !important;
}
