/* LOGIN STYLE */
#epl-login-container, #epl-main-container {
    max-width: 700px;
    margin: 56px auto 0;
    padding: 36px 24px 32px;
    background: #fafaff;
    border-radius: 16px;
    border: 1px solid #dadada;
    box-shadow: 0 1px 8px rgba(0,0,0,0.06);
}
#epl-login-form {
    display: flex;
    flex-direction: column;
    gap: 22px;
}
#epl-login-form h3 {
    text-align: center;
    font-size: 1.38rem;
    color: #007cba;
    margin-bottom: 12px;
}
#epl-login-form label {
    font-weight: 500;
    color: #333;
    margin-bottom: 7px;
    font-size: 1rem;
}
#epl-login-form input[type="text"],
#epl-login-form input[type="password"] {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #bbb;
    border-radius: 7px;
    font-size: 15px;
    background: #f8fbff;
    transition: border .18s;
    box-sizing: border-box;
    margin-bottom:0;
}
#epl-login-form input:focus {
    border-color: #007cba;
    background: #eefafc;
    box-shadow: 0 0 5px rgba(0,124,186,0.09);
}
.btn-login {
    background: #007cba;
    color: #fff;
    padding: 13px 0;
    font-size: 17px;
    border-radius: 7px;
    font-weight: 600;
    letter-spacing: 0.02em;
    margin-top: 6px;
}
.btn-login:hover { background: #005fa2; }

#epl-login-message {
    margin-top: 17px;
    font-size: 1rem;
    padding: 9px 0;
    min-height: 24px;
}
.efp-success { background: #d4edda; color: #155724; border: 1px solid #c3e6cb; }
.efp-error { background: #f8d7da; color: #721c24; border: 1px solid #f5c6cb; }

@media only screen and (max-width: 500px) {
    #epl-login-container { max-width: 97vw; padding: 17px 6px 18px; }
    #epl-login-form input, .btn-login { font-size: 15px; }
}





/*#epl-login-container, #epl-main-container {
    max-width: 560px;
    margin: 2em auto;
    border: 1px solid #ddd;
    padding: 16px 16px 40px;
    background: #fafaff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.04);
}*/
.epl-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 18px;
    padding-bottom: 4px;
    border-bottom: 2px solid #007cba;
}
.efp-form {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.efp-field {
    display: flex;
    flex-direction: column;
    margin-bottom: 0;
}
.efp-field label {
    margin-bottom: 4px;
    font-weight: 500;
    color: #222;
    font-size: 15px;
}
.efp-field input,
.efp-field .efp-select,
.efp-field textarea {
    width: 100%;
    padding: 12px 15px;
    border: 1px solid #bbb;
    border-radius: 6px;
    font-size: 15px;
    background: #fcfcfc;
    transition: border .16s;
    box-sizing: border-box;
}
.efp-field input:focus,
.efp-field .efp-select:focus,
.efp-field textarea:focus {
    border-color: #007cba;
    outline: none;
    background: #f2f9ff;
    box-shadow: 0 0 5px rgba(0,124,186,0.09);
}
/* Modern select */
.efp-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: url("data:image/svg+xml;utf8,<svg fill='gray' height='22' viewBox='0 0 20 20' width='22' xmlns='http://www.w3.org/2000/svg'><path d='M7 7l3-3 3 3' stroke='gray' stroke-width='2' fill='none'/></svg>") no-repeat right 8px center/18px 18px;
    padding-right: 33px;
}
.efp-btn {
    padding: 12px 24px;
    border: none;
    border-radius: 6px;
    cursor: pointer;
    font-size: 15px;
    font-weight: bold;
    margin-top: 10px;
    margin-bottom: 2px;
    transition: background .17s;
}
.efp-btn-success {
    background: #17953b;
    color: #fff;
    font-size:16px;
    box-shadow: 0 2px 12px -10px #17953b;
}
.efp-btn-info { background: #007cba; color: #fff; }
.efp-btn-secondary { background: #4c5258; color: #fff; }
.efp-btn:hover { opacity:.95 }
.efp-table-container { margin-top: 30px; }
.efp-table-wrapper { overflow-x: auto; max-height: 520px; }
.efp-table {
    width: 100%; border-collapse: collapse; background: white; font-size: 15px;
    border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.05);
}
.efp-table th, .efp-table td {
    padding: 11px 9px;
    border: 1px solid #d8dde4;
    text-align: left;
    white-space: nowrap;
}
.efp-table th {
    background: linear-gradient(90deg,#007cba 95%,#005283 100%);
    color: #fff; position: sticky; top: 0; font-weight: bold;
}
.efp-table tr:nth-child(even) { background: #f3f5fa; }
.efp-table tr:hover { background: #e9ecef; }
@media only screen and (max-width: 600px) {
    #epl-main-container, #epl-login-container { padding: 7px 2px 15px; }
    .efp-btn { width:100%; }
}