body {
    background-color: #000000;
    color: #00FF00;
    font-family: "Courier New", Courier, monospace;
    margin: 20px;
}

a {
    color: #FF00FF;
    text-decoration: underline;
}

a:hover {
    color: #00FFFF;
}

h1, h2, h3, h4, h5, h6 {
    color: #FFFF00;
    text-transform: uppercase;
    border-bottom: 3px double #FFFF00;
    padding-bottom: 5px;
}

table {
    border-collapse: collapse;
    width: 100%;
    background-color: #0A0A0A;
}

th, td {
    border: 1px solid #00FF00;
    padding: 8px;
    text-align: left;
}

th {
    background-color: #003300;
    color: #FFFF00;
    font-weight: bold;
}

.nav-bar {
    text-align: center;
    margin-bottom: 20px;
    font-weight: bold;
}

.flash-message {
    border: 2px dashed #FFFF00;
    background-color: #000080;
    color: #FFFF00;
    padding: 10px;
    margin-bottom: 20px;
    text-align: center;
    font-weight: bold;
}

hr {
    border: 0;
    border-top: 2px solid #00FF00;
    margin: 20px 0;
}

button, input[type="submit"], input[type="button"], .btn {
    background-color: #000000;
    color: #00FF00;
    border: 3px ridge #00FF00;
    padding: 5px 15px;
    font-family: "Courier New", Courier, monospace;
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    display: inline-block;
}

button:hover, input[type="submit"], input[type="button"]:hover, .btn:hover {
    background-color: #003300;
}

input[type="text"], input[type="url"], input[type="date"], select, textarea {
    background-color: #000000;
    color: #00FF00;
    border: 2px inset #00FF00;
    font-family: "Courier New", Courier, monospace;
    padding: 4px;
    width: 100%;
    box-sizing: border-box;
}

.footer {
    text-align: center;
    margin-top: 40px;
    font-size: 0.9em;
}

.form-container {
    width: 60%;
    margin: 0 auto;
}

.form-container table {
    width: 100%;
    border: none;
    background-color: transparent;
}

.form-container td {
    border: none;
    padding: 10px;
    vertical-align: top;
}

.form-container label {
    font-weight: bold;
    text-transform: uppercase;
}

/* Status colors */
.status-offer { color: #00FF00; }
.status-interview { color: #FFFF00; }
.status-rejected { color: #FF0000; }
.status-applied { color: #00FFFF; }
.status-pending { color: #C0C0C0; }

.deadline-urgent { color: #FF0000; font-weight: bold; }
.deadline-soon { color: #FFFF00; font-weight: bold; }
.deadline-past { color: #808080; text-decoration: line-through; }

@media (max-width: 768px) {
    body { 
        margin: 8px; 
        overflow-x: hidden;
    }
    
    .form-container { 
        width: 100%; 
        box-sizing: border-box;
    }
    
    .nav-bar a { 
        display: inline-block; 
        margin: 5px 10px; 
        padding: 5px;
    }
    .nav-bar form { 
        display: block; 
        margin-top: 10px; 
    }
    .nav-sep { display: none; }
    
    .table-wrapper { 
        overflow-x: auto; 
        -webkit-overflow-scrolling: touch; 
        width: 100%;
    }
    .table-wrapper table { 
        min-width: 600px; 
    }
    
    .form-container table td { 
        display: block; 
        width: 100%; 
        box-sizing: border-box;
    }
    .form-container table td:first-child { 
        padding-bottom: 2px; 
    }
    
    .stats-outer td { 
        display: block; 
        width: 100%; 
        box-sizing: border-box;
        padding-bottom: 20px;
    }
    
    input, select, textarea, button, .btn {
        max-width: 100%;
        box-sizing: border-box;
    }
    
    button, input[type="submit"], input[type="button"], .btn {
        padding: 10px 15px;
    }
    
    input[type="text"], input[type="url"], input[type="date"], input[type="password"], select, textarea {
        font-size: 16px;
    }
}
