/* Basic styling */
html, body {
    background-color: #B7D3F2;
    color: #1A4FA3;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
    height: 100%;
    margin: 0;
}

hr {
    border: 0;
    height: 1px;
    background-image: linear-gradient(to right, rgba(26, 79, 163, 0), rgba(26, 79, 163, 0.75), rgba(26, 79, 163, 0));
    margin: 2em 0;
}

h1, h2, h3, h4 {
    color: #1A4FA3;
}

a {
    color: inherit !important;
    text-decoration: none !important;
}


/* Utility classes */
.inline-block {
    display: inline-block !important;
}

.subtitle {
    color: #666;
}

.flex-row {
    display: flex;
    flex-direction: row;
    gap: 0.5em;
}

.flex-column {
    display: flex;
    flex-direction: column;
    gap: 0.5em;
}

.flex-align-center {
    align-items: center;
}

.flex-justify-space-between {
    justify-content: space-between;
}

.text-light {
    color: #ccc !important;
}

.text-center {
    text-align: center;
}

.w-100 {
    width: 100%;
    box-sizing: border-box;
}

.my-1 {
    margin-block: 0.25em !important;
}

.my-2 {
    margin-block: 0.5em !important;
}

.my-3 {
    margin-block: 0.75em !important;
}

.my-4 {
    margin-block: 1em !important;
}

.my-5 {
    margin-block: 2em !important;
}

.mt-1 {
    margin-top: 0.25em !important;
}

.mt-2 {
    margin-top: 0.5em !important;
}

.mt-3 {
    margin-top: 0.75em !important;
}

.mt-4 {
    margin-top: 1em !important;
}

.mt-5 {
    margin-top: 2em !important;
}

.mb-1 {
    margin-bottom: 0.25em !important;
}

.mb-2 {
    margin-bottom: 0.5em !important;
}

.mb-3 {
    margin-bottom: 0.75em !important;
}

.mb-4 {
    margin-bottom: 1em !important;
}

.mb-5 {
    margin-bottom: 2em !important;
}

.m-0 {
    margin: 0 !important;
}

.p-0 {
    padding: 0 !important;
}

.py-1 {
    padding-block: 0.25em !important;
}

.py-2 {
    padding-block: 0.5em !important;
}

.py-3 {
    padding-block: 0.75em !important;
}

.py-4 {
    padding-block: 1em !important;
}

.py-5 {
    padding-block: 2em !important;
}

.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 2em;
    height: 100%;
}

.center-wrapper {
    display: flex;
    justify-content: center;
    align-items: center;
    height: 100%;
}

/** PRIMEFACES STYLING **/
/* Panel styling */
.ui-panel-titlebar {
    background-color: #A3C2ED !important;
    color: white !important;
    border: none !important;
}

/* Input styling */
.ui-inputtext, .ui-inputfield, .ui-inputwrapper {
    border-color: #95B8E7 !important;
    width: 100% !important;
}

.form-small .ui-inputtext, .form-small .ui-inputfield, .form-small .ui-inputwrapper {
    width: 300px !important;
}

.ui-inputtext:focus, .ui-inputfield:focus {
    border-color: #6B9BE0 !important;
    box-shadow: 0 0 3px #A3C2ED !important;
}

.form-dark .ui-inputtext, .form-dark .ui-inputfield {
    border: 1px solid #555 !important;
    color: #fff;
    background: #2a2a2a;
}

/* Button styling */
.ui-button {
    border: none !important;
    transition: background-color 0.2s !important;
    color: #FFFFFF !important;
    background-color: #8AB1E9 !important;
}

.ui-button:hover {
    background-color: #6B9BE0 !important;
}

.form-dark .ui-button {
    background-color: #6c757d !important;
    color: white !important;
}

.form-dark .ui-button:hover {
    background-color: #5a6268 !important;
}

.ui-button-secondary {
    background-color: #d3e3ff !important;
    color: #1A4FA3 !important;
}

.ui-button-secondary:hover {
    background-color: #dde8ff !important;
}

/* Link Styling */
.ui-link {
    color: #1A4FA3 !important;
    text-decoration: none !important;
}

/* Label styling */
.ui-outputlabel {
    color: #1A4FA3 !important;
}

.form-dark .ui-outputlabel {
    color: #ccc !important;
}

/* Panel styling */
.ui-panelgrid-cell {
    padding: 0.5em !important;
    background-color: transparent !important;
}

/* Accordion styling */
.ui-accordion .ui-accordion-header {
    background-color: #A3C2ED !important;
    color: white !important;
    border: none !important;
}