.user-authenticated {
    background-color: #FAFAF8;
    background-image: url("../../img/logo-esdm-new.png");
    background-position: center 52%;
    background-repeat: no-repeat;
    background-size: 360px auto;
    background-attachment: fixed;
}

.registration-notice-modal .modal-dialog {
    width: calc(100% - 30px);
    max-width: 520px;
    margin: 30px auto;
}

.registration-notice-modal .modal-content {
    border: 0;
    border-radius: 10px;
    box-shadow: 0 12px 40px rgba(0, 0, 0, .22);
}

.registration-notice-modal .modal-body {
    display: flex;
    align-items: flex-start;
    gap: 12px;
    min-height: 104px;
    padding: 26px 26px 24px;
    line-height: 1.45;
}

.registration-notice-modal-success {
    color: #285d3b;
    background: #f7fcf8;
    border-top: 4px solid #4c9a63;
}

.registration-notice-modal-danger {
    color: #7d302b;
    background: #fff8f7;
    border-top: 4px solid #c85c54;
}

.registration-notice-modal-success .registration-notice-content strong,
.registration-notice-modal-success .registration-notice-content span {
    color: #285d3b;
}

.registration-notice-modal-danger .registration-notice-content strong,
.registration-notice-modal-danger .registration-notice-content span {
    color: #7d302b;
}

.registration-notice-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 0 0 30px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    background: #4c9a63;
}

.registration-notice-danger .registration-notice-icon {
    background: #c85c54;
}

.registration-notice-content {
    display: flex;
    flex: 1;
    flex-direction: column;
    gap: 4px;
    padding-top: 1px;
    line-height: 1.5;
}

.registration-notice-content strong {
    font-size: 15px;
}

.registration-notice-content span {
    font-size: 13px;
}

.registration-notice-close {
    width: 28px;
    height: 28px;
    padding: 0 2px;
    border: 0;
    color: currentColor;
    background: transparent;
    font-size: 22px;
    line-height: 1;
    opacity: .65;
    cursor: pointer;
}

.registration-notice-close:hover,
.registration-notice-close:focus {
    opacity: 1;
}

@media (max-width: 640px) {
    .registration-notice-modal .modal-body {
        gap: 10px;
        padding: 22px 18px 20px;
    }

    .registration-notice-content span {
        font-size: 12px;
    }
}

.user-authenticated .content-wrapper {
    background-color: rgba(250, 250, 248, .9);
}

.riwayat-page .page-head-line,
.status-page .page-head-line {
    margin: 4px 0 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #E0E0DC;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    color: #2A2A28;
}

.riwayat-card,
.status-card {
    background: #fff;
    border: 1px solid #E0E0DC;
    border-radius: 6px;
    overflow: hidden;
    margin-top: 6px;
}

.riwayat-card-head,
.status-card-head {
    padding: 14px 20px;
    background: #FAFAF8;
    border-bottom: 1px solid #E0E0DC;
    font-size: 14px;
    font-weight: 600;
    color: #2A2A28;
}

.riwayat-card-body,
.status-card-body {
    padding: 22px;
}

.riwayat-page .table,
.status-page .table {
    margin-bottom: 0;
}

.riwayat-page .table > thead > tr > th,
.status-page .table > thead > tr > th {
    background: #F5EDD6;
    border-color: #E0E0DC;
    color: #2A2A28;
    vertical-align: middle;
}

.riwayat-page .table > tbody > tr > td,
.status-page .table > tbody > tr > td {
    border-color: #E0E0DC;
    color: #5A5A56;
    vertical-align: middle;
}

.status-page .form-control {
    border-color: #E0E0DC;
    border-radius: 4px;
}

.status-page .btn-primary,
.status-page .btn-success,
.status-page .btn-danger {
    border-radius: 4px;
    border: 1px solid #B8A25E;
}

.modern-page .page-head-line {
    margin: 4px 0 0;
    padding-bottom: 10px;
    border-bottom: 1px solid #E0E0DC;
    font-size: 20px;
    font-weight: 600;
    line-height: 1.4;
    color: #2A2A28;
}

.modern-card {
    background: #fff;
    border: 1px solid #E0E0DC;
    border-radius: 6px;
    overflow: hidden;
    margin-top: 6px;
}

.modern-card-head {
    padding: 14px 20px;
    background: #FAFAF8;
    border-bottom: 1px solid #E0E0DC;
    font-size: 14px;
    font-weight: 600;
    color: #2A2A28;
}

.modern-card-body {
    padding: 24px 22px 28px;
}

.modern-card-body .form-group {
    margin-bottom: 18px;
}

.modern-card-body .control-label {
    padding-top: 8px;
    color: #2A2A28;
    font-size: 13px;
    font-weight: 500;
}

.modern-card-body .form-control {
    min-height: 40px;
    border: 1px solid #E0E0DC;
    border-radius: 4px;
    box-shadow: none;
    color: #2A2A28;
}

.modern-card-body .form-control:focus {
    border-color: #E8D48A;
    box-shadow: 0 0 0 3px rgba(232, 212, 138, .25);
}

.modern-card-body .ln_solid {
    border-top: 1px solid #E0E0DC;
    margin: 22px 0 18px;
}

.modern-card-body .btn {
    min-width: 100px;
    padding: 9px 20px;
    border-radius: 4px;
    font-size: 14px;
    font-weight: 600;
}

.modern-card-body .btn-success,
.modern-card-body .btn-primary {
    background: #E8D48A;
    border-color: #B8A25E;
    color: #2A2A28;
}

.modern-card-body .btn-success:hover,
.modern-card-body .btn-primary:hover {
    background: #DFC976;
    border-color: #9E8A4A;
    color: #2A2A28;
}

.modern-card-body .btn-danger {
    background: transparent;
    border-color: #E0E0DC;
    color: #5A5A56;
}

.modern-card-body .btn-danger:hover {
    background: #F2F2EE;
    border-color: #CFCFC9;
    color: #2A2A28;
}

.modern-tabs {
    display: flex;
    gap: 8px;
    margin: 6px 0 12px;
    padding: 0;
    border-bottom: 1px solid #E0E0DC;
}

.modern-tabs a {
    display: block;
    padding: 10px 16px;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 4px 4px 0 0;
    color: #5A5A56;
    font-size: 13px;
    text-decoration: none;
}

.modern-tabs a.active,
.modern-tabs a:hover {
    background: #F5EDD6;
    border-color: #E0E0DC;
    color: #2A2A28;
}

.modern-tabs a.step-locked {
    color: #999993;
    background: #F7F7F4;
    border-color: #E8E8E3;
    cursor: not-allowed;
    pointer-events: none;
}

.modern-tabs a.step-locked::before {
    content: "\f023";
    margin-right: 6px;
    font-family: FontAwesome;
    font-size: 11px;
}

.modern-tabs a.step-complete::before {
    content: "\f00c";
    margin-right: 6px;
    color: #3C9A5F;
    font-family: FontAwesome;
}

.step-guidance {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    margin: 0 0 16px;
    padding: 12px 14px;
    background: #F5F9F3;
    border: 1px solid #CFE3D0;
    border-radius: 4px;
    color: #35643D;
    font-size: 13px;
    line-height: 1.5;
}

.step-guidance i {
    margin-top: 2px;
    color: #3C9A5F;
    font-size: 16px;
}

.application-options {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 18px;
    margin-top: 6px;
}

.application-option {
    display: block;
    min-height: 155px;
    padding: 22px 16px 18px;
    background: #FAFAF8;
    border: 1px solid #E0E0DC;
    border-radius: 6px;
    color: #2A2A28;
    text-align: center;
    text-decoration: none;
    transition: border-color .15s, background-color .15s, transform .1s;
}

.application-option:hover {
    background: #FEFCF5;
    border-color: #B8A25E;
    color: #2A2A28;
    text-decoration: none;
    transform: translateY(-1px);
}

.application-option i {
    display: block;
    margin-bottom: 16px;
    color: #B8A25E;
    font-size: 32px;
}

.application-option strong {
    display: block;
    font-size: 14px;
    font-weight: 600;
    line-height: 1.45;
}

/* Shared styling for the older multi-step user forms. */
.content-wrapper > .container .page-head-line {
    margin: 4px 0 18px;
    color: #2A2A28;
    font-weight: 600;
}

.content-wrapper > .container > .row > .nav.nav-tabs,
.content-wrapper > .container > .nav.nav-tabs {
    display: flex;
    gap: 8px;
    margin: 0 0 12px;
    padding: 0;
    border-bottom: 1px solid #E0E0DC;
    overflow-x: auto;
    white-space: nowrap;
}

.content-wrapper .nav.nav-tabs > li {
    float: none;
    margin-bottom: -1px;
}

.content-wrapper .nav.nav-tabs > li > a {
    padding: 10px 16px;
    border: 1px solid transparent;
    border-radius: 4px 4px 0 0;
    color: #5A5A56;
    font-size: 13px;
}

.content-wrapper .nav.nav-tabs > li.active > a,
.content-wrapper .nav.nav-tabs > li > a:hover {
    background: #F5EDD6;
    border-color: #E0E0DC;
    color: #2A2A28;
}

.content-wrapper .panel-body {
    margin: 6px 0 24px;
    padding: 24px 22px 28px;
    background: #fff;
    border: 1px solid #E0E0DC;
    border-radius: 6px;
}

.content-wrapper .panel-body .form-group {
    margin-bottom: 18px;
}

.content-wrapper .panel-body .control-label {
    padding-top: 8px;
    color: #2A2A28;
    font-size: 13px;
    font-weight: 500;
}

.content-wrapper .panel-body .form-control {
    min-height: 40px;
    border: 1px solid #E0E0DC;
    border-radius: 4px;
    box-shadow: none;
    color: #2A2A28;
}

.content-wrapper .panel-body textarea.form-control {
    min-height: 80px;
}

.content-wrapper .panel-body .form-control:focus {
    border-color: #E8D48A;
    box-shadow: 0 0 0 3px rgba(232, 212, 138, .25);
}

.content-wrapper .panel-body .ln_solid {
    border-top: 1px solid #E0E0DC;
    margin: 22px 0 18px;
}

.content-wrapper .panel-body .btn-success,
.content-wrapper .panel-body .btn-primary {
    background: #E8D48A;
    border-color: #B8A25E;
    color: #2A2A28;
}

.content-wrapper .panel-body .btn-success:hover,
.content-wrapper .panel-body .btn-primary:hover {
    background: #DFC976;
    border-color: #9E8A4A;
    color: #2A2A28;
}

.content-wrapper .panel-body .btn-danger {
    background: transparent;
    border-color: #E0E0DC;
    color: #5A5A56;
}

.content-wrapper .panel-body .btn-danger:hover {
    background: #F2F2EE;
    border-color: #CFCFC9;
    color: #2A2A28;
}

@media (max-width: 640px) {
    .riwayat-card-body,
    .status-card-body {
        padding: 16px;
    }

    .riwayat-page .page-head-line,
    .status-page .page-head-line,
    .modern-page .page-head-line {
        font-size: 18px;
    }

    .modern-card-body {
        padding: 20px 16px 24px;
    }

    .modern-card-body .control-label {
        padding-top: 0;
        margin-bottom: 5px;
        text-align: left;
    }

    .modern-tabs {
        overflow-x: auto;
        white-space: nowrap;
    }

    .application-options {
        grid-template-columns: 1fr;
    }

    .content-wrapper .panel-body {
        padding: 20px 16px 24px;
    }

    .content-wrapper .panel-body .control-label {
        padding-top: 0;
        margin-bottom: 5px;
        text-align: left;
    }
}
