/* Clean government-professional stylesheet for ME pages */
:root{
    --accent:#0b3d91; /* primary navy */
    --accent-dark:#08306b;
    --muted:#6b84b0;
    --container-bg:#f7f9fb; /* light container */
    --page-bg:#0f1216; /* dark page chrome */
    --page-fg:#e9eef6;
    --border: #dfe6f5;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    margin:0;
    padding:0;
    background:#e8e8e8;
    color:var(--page-fg);
    -webkit-font-smoothing:antialiased;
}

/* Navbar */
.navbar{
    position:sticky;
    top:0;
    display:flex;
    align-items:center;
    justify-content:space-between;
    padding:12px 20px;
    background:linear-gradient(90deg,var(--accent-dark),#071a3a);
    color:#fff;
    box-shadow:0 2px 8px rgba(0,0,0,0.5);
    z-index:1000;
}
.nav-logo{height:40px}
.logo{display:flex;align-items:center;gap:12px}

/* Hamburger */
.hamburger{width:36px;cursor:pointer;display:flex;flex-direction:column;gap:5px;border:none;background:none;padding:0;z-index:1101}
.hamburger div{height:3px;background:var(--page-fg);border-radius:2px;transition:all .3s ease}

/* Menu (desktop hidden on small screens) */
.menu{display:flex;gap:16px;align-items:center;transition:all .3s ease}
.menu a{color:var(--page-fg);text-decoration:none;padding:8px 12px;border-radius:6px;transition:background .2s ease}
.menu a:hover{background:rgba(255,255,255,0.1)}

/* Mobile menu styles */
@media (max-width:860px){
    .hamburger{display:flex}
    .menu{position:fixed;top:64px;right:0;background:linear-gradient(180deg,#071124,#0b1220);padding:16px;border-radius:0 0 0 8px;flex-direction:column;transform:translateX(120%);opacity:0;pointer-events:none;z-index:999;min-width:180px}
    .menu.show{opacity:1;pointer-events:auto;transform:translateX(0)}
}

@media (min-width:861px){
    .hamburger{display:none}
}

/* Container - light background and black text as requested */
.container{
    max-width:1100px;
    margin:22px auto;
    background:var(--container-bg);
    color:#000;
    padding:20px;
    border-radius:8px;
    box-shadow:0 6px 20px rgba(3,12,38,0.35);
}

.container h2{color:var(--accent);margin-top:6px}

/* Form groups */
.form-group{
    margin-bottom:16px;
    display:flex;
    flex-direction:column;
    gap:6px;
}

.form-group label{
    font-weight:600;
    color:#000;
    font-size:13px;
}

.form-group-inline{
    flex-direction:row;
    align-items:center;
    gap:12px;
}

.form-group-inline label{
    flex-shrink:0;
    margin-bottom:0;
}

.form-group-inline select,.form-group-inline input{
    flex:1;
}

table{width:100%;border-collapse:collapse;margin:12px 0}
th,td{padding:10px;border:1px solid #e6eaf2;text-align:left;font-size:14px}
th{background:#f0f4fb;color:#07183a}

/* Inputs and outputs inside container should be white with black text */
.container input,.container select,.container textarea{background:#fff;color:#000;border:1px solid #d7dde9;padding:8px;border-radius:4px}

/* Dropdown options styling */
.container select option{
    color:#000;
    background:#fff;
    padding:8px;
}

/* Select2 dropdown styling for dark text */
.select2-container--default .select2-selection--single{
    background-color:#fff;
    border:1px solid #d7dde9;
    color:#000;
}

.select2-container--default .select2-selection--single .select2-selection__rendered{
    color:#000;
}

.select2-container--default .select2-results__option{
    color:#000;
}

.select2-container--default .select2-results__option--highlighted[aria-selected]{
    background-color:var(--accent);
    color:#fff;
}

.select2-dropdown{
    background-color:#fff;
    border:1px solid #d7dde9;
}

#output{white-space:pre-wrap;background:#fff;color:#000;padding:12px;border-radius:6px;border:1px solid #d7dde9}

/* Buttons with blue theme */
button{
    font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
    padding:10px 16px;
    border:none;
    border-radius:6px;
    cursor:pointer;
    font-size:14px;
    font-weight:600;
    transition:all .2s ease;
}

.container button{
    background:var(--accent);
    color:#fff;
    margin-top:8px;
    margin-right:8px;
}

.container button:hover{
    background:#0a2e75;
    box-shadow:0 4px 12px rgba(11,61,145,0.3);
    transform:translateY(-1px);
}

.container button:active{
    transform:translateY(0);
    box-shadow:0 2px 6px rgba(11,61,145,0.2);
}
.about-btn{
    position:fixed;right:18px;bottom:18px;width:56px;height:56px;border-radius:50%;border:none;background:var(--accent);color:#fff;font-size:22px;cursor:pointer;z-index:1100;box-shadow:0 6px 18px rgba(11,61,145,0.25)
}

/* About overlay and sidebar */
.about-overlay{position:fixed;inset:0;background:rgba(0,0,0,0.45);opacity:0;visibility:hidden;transition:opacity .22s;z-index:1090}
.about-overlay.show{opacity:1;visibility:visible}

.about-sidebar{position:fixed;right:0;top:0;width:360px;height:100vh;background:linear-gradient(180deg,#0b1220 0%,#071124 100%);color:var(--page-fg);padding:22px;border-left:4px solid var(--accent);transform:translateX(110%);transition:transform .28s;z-index:1100}
.about-sidebar.show{transform:translateX(0)}
.about-sidebar-header{display:flex;justify-content:space-between;align-items:center;border-bottom:2px solid rgba(11,61,145,0.14);padding-bottom:12px;margin-bottom:18px}
.about-sidebar-header h3{color:var(--muted);margin:0;font-size:20px}
.about-close-btn{background:none;border:none;color:var(--accent);font-size:20px;cursor:pointer}
.about-content p{font-size:14px;line-height:1.6;color:#dbe7ff}
.about-content hr{border:none;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);margin:18px 0}

/* Responsive adjustments */
@media (max-width:860px){
    .container{margin:12px;padding:16px}
    .about-sidebar{width:92%;max-width:420px}
}

/* Utility */
.muted{color:var(--muted)}

/* Ensure images don't overflow */
img{max-width:100%;height:auto}

/* small print */
.small{font-size:12px;color:#6e7d96}