/* Pure Black and White Theme - Global Styles */
/* Minimal, flat, square design */

html, body {
    font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
    background-color: #ffffff;
    color: #000000;
}

a, .btn-link {
    color: #000000;
    text-decoration: underline;
}

a:hover, .btn-link:hover {
    color: #000000;
    text-decoration: none;
}

/* Focus styles */
.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
    box-shadow: 0 0 0 1px rgba(0, 0, 0, 1);
    border-color: #000000;
    outline: none;
}

.content {
    padding-top: 2rem;
    background-color: #ffffff;
}

h1:focus {
    outline: none;
}

/* Validation styles */
.valid.modified:not([type=checkbox]) {
    outline: 1px solid #000000;
}

.invalid {
    outline: 1px solid #000000;
    background-color: #f0f0f0;
}

.validation-message {
    color: #000000;
    font-weight: 500;
}

/* Error boundary */
.blazor-error-boundary {
    background: #000000;
    padding: 1rem 1rem 1rem 3.7rem;
    color: white;
    border: 1px solid #000000;
}

.blazor-error-boundary::after {
    content: "An error has occurred."
}

/* Checkbox styling - flat square */
.darker-border-checkbox.form-check-input {
    border-color: #000000;
    border-radius: 0;
}

.form-check-input:checked {
    background-color: #000000;
    border-color: #000000;
}

/* Input groups - flat square */
.input-group .form-control {
    border-radius: 0 !important;
}

.input-group .btn {
    border-radius: 0 !important;
}

/* Dropdown menus - flat square */
.dropdown-menu {
    border-radius: 0 !important;
    border: 1px solid #000000;
    box-shadow: none;
}

.dropdown-item:hover {
    background-color: #000000;
    color: #ffffff;
}

/* Pagination - flat square */
.pagination .page-link {
    border-radius: 0 !important;
    border: 1px solid #000000;
    color: #000000;
}

.pagination .page-item.active .page-link {
    background-color: #000000;
    border-color: #000000;
    color: #ffffff;
}

/* Progress bars - flat square */
.progress {
    border-radius: 0 !important;
    border: 1px solid #000000;
    background-color: #ffffff;
}

.progress-bar {
    background-color: #000000;
}

/* Tooltips - flat square */
.tooltip .tooltip-inner {
    border-radius: 0 !important;
    background-color: #000000;
    border: 1px solid #000000;
}

/* Popovers - flat square */
.popover {
    border-radius: 0 !important;
    border: 1px solid #000000;
}

.popover-header {
    background-color: #000000;
    color: #ffffff;
    border-radius: 0 !important;
    border-bottom: 1px solid #000000;
}

/* List groups - flat square */
.list-group-item {
    border-radius: 0 !important;
    border: 1px solid #000000;
    background-color: #ffffff;
    color: #000000;
}

.list-group-item.active {
    background-color: #000000;
    border-color: #000000;
    color: #ffffff;
}

/* Accordion - flat square */
.accordion-item {
    border-radius: 0 !important;
    border: 1px solid #000000;
}

.accordion-button {
    border-radius: 0 !important;
    background-color: #ffffff;
    color: #000000;
    font-weight: 500;
}

.accordion-button:not(.collapsed) {
    background-color: #000000;
    color: #ffffff;
}

.accordion-button:focus {
    box-shadow: none;
    border-color: #000000;
}

/* Tabs - flat square */
.nav-tabs .nav-link {
    border-radius: 0 !important;
    border: 1px solid transparent;
    color: #000000;
}

.nav-tabs .nav-link:hover {
    border-color: #000000;
}

.nav-tabs .nav-link.active {
    background-color: #000000;
    border-color: #000000;
    color: #ffffff;
}

.nav-tabs {
    border-bottom: 1px solid #000000;
}

/* Pills - flat square */
.nav-pills .nav-link {
    border-radius: 0 !important;
    color: #000000;
}

.nav-pills .nav-link.active {
    background-color: #000000;
    color: #ffffff;
}

/* Toasts - flat square */
.toast {
    border-radius: 0 !important;
    border: 1px solid #000000;
}

.toast-header {
    background-color: #000000;
    color: #ffffff;
    border-bottom: 1px solid #000000;
}

/* Spinners */
.spinner-border, .spinner-grow {
    border-radius: 0 !important;
}

/* Images and figures - flat square */
.img-thumbnail {
    border-radius: 0 !important;
    border: 1px solid #000000;
    padding: 0.25rem;
}

.figure-caption {
    color: #000000;
    font-weight: 400;
}

/* Close button - flat square */
.btn-close {
    border-radius: 0 !important;
    opacity: 1;
}

.btn-close:hover {
    background-color: #000000;
    color: #ffffff;
}

/* Offcanvas - flat square */
.offcanvas {
    border-radius: 0 !important;
    border: 1px solid #000000;
}

.offcanvas-header {
    background-color: #000000;
    color: #ffffff;
}

/* Placeholder styling */
.form-floating > .form-control-plaintext::placeholder,
.form-floating > .form-control::placeholder {
    color: #666666;
    text-align: end;
}

.form-floating > .form-control-plaintext:focus::placeholder,
.form-floating > .form-control:focus::placeholder {
    text-align: start;
}

/* Selection color */
::selection {
    background-color: #000000;
    color: #ffffff;
}

::-moz-selection {
    background-color: #000000;
    color: #ffffff;
}

/* Scrollbar styling - flat square */
::-webkit-scrollbar {
    width: 8px;
    height: 8px;
}

::-webkit-scrollbar-track {
    background: #ffffff;
    border: 1px solid #000000;
}

::-webkit-scrollbar-thumb {
    background: #000000;
    border: 1px solid #000000;
}

::-webkit-scrollbar-thumb:hover {
    background: #333333;
}

/* Icon colors - monochrome */
.bi {
    filter: grayscale(100%);
}

/* Text muted - use gray */
.text-muted {
    color: #555555 !important;
}

/* Loading state */
em {
    font-style: normal;
    color: #555555;
}
