/* Shared form identity: storefront, checkout, authentication and administration. */
/* SOICO: ocean blue, deep blue and sky blue from the supplied logo. */
:root {
    --soico-primary: #1687c9;
    --soico-hover: #086ba8;
    --soico-light: #8bd2f4;
    --bs-success-rgb: 22, 135, 201;
    --bs-success: #1687c9;
    --bs-success-bg-subtle: #e8f5fc;
    --bs-success-border-subtle: #8bd2f4;
    --bs-success-text-emphasis: #075889;
}
.btn-success, .btn-outline-success {
    --bs-btn-color: #fff;
    --bs-btn-bg: #0877b7;
    --bs-btn-border-color: #0877b7;
    --bs-btn-hover-color: #fff;
    --bs-btn-hover-bg: #086ba8;
    --bs-btn-hover-border-color: #086ba8;
    --bs-btn-active-color: #fff;
    --bs-btn-active-bg: #075889;
    --bs-btn-active-border-color: #075889;
    --bs-btn-disabled-bg: #0877b7;
    --bs-btn-disabled-border-color: #0877b7;
    --bs-btn-focus-shadow-rgb: 22, 135, 201;
}
.btn-outline-success { --bs-btn-color: #8bd2f4; --bs-btn-bg: transparent; }
.alert-success {
    --bs-alert-color: #8bd2f4;
    --bs-alert-bg: #102b40;
    --bs-alert-border-color: #1687c9;
    --bs-alert-link-color: #fff;
}
.text-bg-success { color: #fff !important; background-color: #0877b7 !important; }
.navbar-brand img[src$="soico-logo.png"] { width: auto; height: 76px; object-fit: contain; }
.sidebar img[src$="soico-logo.png"] { width: auto; max-width: 100%; height: 96px; object-fit: contain; }
.logo img[src$="soico-logo.png"] { width: auto; height: 90px; object-fit: contain; }
img[src$="soico-logo.png"] { background-color: #fff; border-radius: 8px; padding: 6px; }
header img[src$="soico-logo.png"] { width: auto; height: 96px; object-fit: contain; }
.brand-icon { background-image: url('/assets/images/soico-logo.png') !important; background-color: #fff; background-size: auto 120px; width: 108px !important; height: 148px !important; }
:root { --soico-field-bg: #0f1c2b; --soico-field-border: #1687c9; --soico-blue: #8bd2f4; }
body :is(input:not([type]), input[type="text"], input[type="email"], input[type="password"], input[type="search"], input[type="tel"], input[type="url"], input[type="number"], input[type="date"], input[type="datetime-local"], input[type="time"], input[type="month"], input[type="week"], input[type="file"], select, textarea) {
    background-color: var(--soico-field-bg) !important;
    color: #8bd2f4 !important;
    border: 1px solid var(--soico-field-border);
    border-radius: 8px;
    min-height: 44px;
    font: inherit;
    caret-color: var(--soico-blue);
    color-scheme: dark;
    transition: border-color .15s, box-shadow .15s;
}
body :is(input, textarea)::placeholder { color: #8bd2f4 !important; opacity: 1; }
body :is(input, select, textarea):focus-visible {
    outline: 2px solid var(--soico-blue);
    outline-offset: 2px;
    border-color: var(--soico-blue) !important;
    box-shadow: 0 0 0 3px rgb(114 216 139 / 16%) !important;
}
body :is(input, select, textarea):disabled { opacity: .6; cursor: not-allowed; }
body :is(input, textarea)[readonly] { border-style: dashed; }
body :is(input, select, textarea):is(.is-invalid, [aria-invalid="true"]) { border-color: #ff9da7 !important; }
body select option { background: #0f1c2b; color: #8bd2f4; }
body .form-select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='12' viewBox='0 0 16 12'%3E%3Cpath fill='none' stroke='%2372d88b' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 3 6 6 6-6'/%3E%3C/svg%3E");
}
body input:is([type="checkbox"], [type="radio"], [type="range"]) { accent-color: var(--soico-blue); }
body .form-check-input:checked { background-color: #1687c9; border-color: var(--soico-blue); }
body input::file-selector-button { background: #1e3957; color: #8bd2f4; border: 0; padding: 10px 14px; margin-right: 12px; }
body input:-webkit-autofill { -webkit-text-fill-color: #8bd2f4; -webkit-box-shadow: 0 0 0 1000px #0f1c2b inset; }

/* Keep all four filters on one row wherever the panel has desktop width. */
.soico-filter-bar { display: grid; grid-template-columns: minmax(0, 1fr) minmax(150px, 210px) auto auto; gap: 10px; align-items: center; }
.soico-filter-bar .filter-search { min-width: 0; }
.soico-filter-bar .search-box { max-width: none; width: 100%; }
.soico-filter-bar .form-select { width: 100%; min-width: 0; }
.soico-filter-bar .btn-outline { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; gap: 7px; white-space: nowrap; }
@media (max-width: 767.98px) {
    .soico-filter-bar { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .soico-filter-bar .filter-search { grid-column: 1 / -1; }
    .soico-filter-bar .form-select { grid-column: 1 / -1; }
}
@media (prefers-reduced-motion: reduce) { body :is(input, select, textarea) { transition: none; } }
