@import url('https://fonts.googleapis.com/css2?family=IBM+Plex+Mono:wght@500;600&family=IBM+Plex+Sans:wght@400;500;600;700&display=swap');

i[class*="fa-"],
.fab,
.fas,
.far,
.fal,
.fad,
.fa-solid,
.fa-regular,
.fa-brands {
    font-family: 'Font Awesome 6 Solid', 'Font Awesome 6 Free', 'Font Awesome 6 Brands', sans-serif !important;
    font-weight: 900 !important;
    font-style: normal !important;
}

:root {
    --az-ink: #131921;
    --az-navy: #232f3e;
    --az-navy-soft: #37475a;
    --az-orange: #ff9900;
    --az-orange-deep: #e47911;
    --az-gold: #f3a847;
    --az-link: #007185;
    --az-link-hover: #c7511f;
    --az-danger: #b12704;
    --az-bg: #eaeded;
    --az-surface: #ffffff;
    --az-surface-soft: #f7fafa;
    --az-line: #d5d9d9;
    --az-line-dark: #8d9aa8;
    --az-muted: #565959;
    --az-shadow: 0 1px 2px rgba(15, 17, 17, 0.08), 0 8px 24px rgba(15, 17, 17, 0.06);
    --az-shadow-hover: 0 2px 6px rgba(15, 17, 17, 0.12), 0 14px 30px rgba(15, 17, 17, 0.08);
    --az-radius: 8px;
    --az-radius-sm: 6px;
    --az-pill: 999px;
}

html {
    background:
        linear-gradient(180deg, rgba(35, 47, 62, 0.05), transparent 260px),
        var(--az-bg);
}

body {
    min-height: 100vh;
    font-family: 'Noto Sans SC', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Helvetica Neue", Arial, sans-serif;
    color: var(--az-ink);
    background: var(--az-bg) !important;
    letter-spacing: 0;
    overflow-x: hidden;
}

body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image:
        linear-gradient(rgba(35, 47, 62, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(35, 47, 62, 0.035) 1px, transparent 1px);
    background-size: 32px 32px;
    opacity: 0.42;
}

main,
#footer-container,
#floating-buttons-container {
    position: relative;
    z-index: 1;
}

#searchModal,
#qrcodeModal {
    position: fixed;
    z-index: 9999;
}

main {
    padding-top: 24px !important;
    padding-bottom: 18px !important;
}

h1,
h2,
h3,
h4,
.hero-title,
.section-heading,
#sidebar .brand-mark {
    letter-spacing: 0 !important;
}

a,
button,
input,
select,
textarea,
.brand-card,
.firm-card,
.tool-card,
.insight-card {
    transition:
        color 0.16s ease,
        background-color 0.16s ease,
        border-color 0.16s ease,
        box-shadow 0.16s ease,
        transform 0.16s ease,
        opacity 0.16s ease;
}

a {
    color: var(--az-link);
}

a:hover {
    color: var(--az-link-hover) !important;
}

button,
[role="button"],
.cursor-pointer {
    cursor: pointer;
}

:focus-visible {
    outline: 3px solid rgba(255, 153, 0, 0.45);
    outline-offset: 2px;
}

.bg-gradient-primary,
.bg-gradient-accent,
main .bg-\[\#ff9600\],
main .download-btn,
main .group-add-btn,
main .pagination-btn.active {
    background: linear-gradient(180deg, #ffd814 0%, var(--az-gold) 46%, var(--az-orange) 100%) !important;
    color: #111 !important;
    border: 1px solid #fcd200 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 2px 5px rgba(213, 126, 0, 0.22) !important;
}

.bg-gradient-primary:hover,
.bg-gradient-accent:hover,
main .bg-\[\#ff9600\]:hover,
main .download-btn:hover,
main .group-add-btn:hover,
main .pagination-btn.active:hover {
    background: linear-gradient(180deg, #f7ca00 0%, #f0b84a 50%, #f3a847 100%) !important;
    color: #111 !important;
}

.text-\[\#ff9600\],
main .text-orange-600,
main .text-amber-300,
main .text-yellow-600,
#sidebar .text-\[\#ff9600\] {
    color: var(--az-orange-deep) !important;
}

a.text-\[\#ff9600\],
main a.text-orange-600,
main a.text-amber-300,
main a.text-yellow-600 {
    color: var(--az-link) !important;
}

main .text-blue-600,
main .text-indigo-600,
main .text-purple-600,
main .text-pink-600,
main .text-green-600,
main .text-green-500,
main .text-emerald-300,
main .text-sky-300 {
    color: var(--az-link) !important;
}

main .text-red-600,
main .text-red-500 {
    color: var(--az-danger) !important;
}

.card-shadow,
.card-shadow-hover,
main .shadow-lg,
main .shadow-sm,
main .shadow-xl {
    box-shadow: var(--az-shadow) !important;
}

.card-shadow:hover,
.card-shadow-hover:hover,
main .brand-card:hover,
main .firm-card:hover,
main .tool-card:hover,
main .insight-card:hover {
    box-shadow: var(--az-shadow-hover) !important;
}

main .bg-white,
main .card-shadow,
#searchModal > div,
#qrcodeModal > div,
#footer-container footer .bg-gray-50,
.brand-card,
.firm-card,
.faq-toggle + .faq-content > div {
    background: var(--az-surface) !important;
    border: 1px solid var(--az-line) !important;
    box-shadow: var(--az-shadow) !important;
}

main .bg-gray-50,
main .bg-gray-100,
main [class*="bg-orange-50"],
main [class*="bg-yellow-50"],
main [class*="bg-blue-50"],
main [class*="bg-green-50"],
main [class*="bg-purple-50"],
main [class*="bg-pink-50"],
main [class*="bg-red-50"],
main [class*="bg-indigo-50"] {
    background: var(--az-surface-soft) !important;
    border: 1px solid rgba(213, 217, 217, 0.86) !important;
}

main .rounded-xl,
main .rounded-2xl,
main .rounded-\[24px\],
main .rounded-\[28px\],
main .rounded-\[32px\],
#searchModal > div,
#qrcodeModal > div,
.brand-card,
.firm-card {
    border-radius: var(--az-radius) !important;
}

main .rounded-lg,
main .rounded-md,
main input,
main select,
main textarea,
main button,
#searchModal input,
#searchModal button,
#qrcodeModal button {
    border-radius: var(--az-radius-sm) !important;
}

main .rounded-full,
main [class*="rounded-full"],
.status-pill,
.hero-kicker {
    border-radius: var(--az-pill) !important;
}

main .border,
main .border-gray-100,
main .border-gray-200,
main .border-gray-300,
footer .border-gray-200,
#searchModal .border-gray-200,
#searchModal .border-gray-300,
#qrcodeModal .border-gray-200 {
    border-color: var(--az-line) !important;
}

main .text-gray-900,
#searchModal .text-gray-900,
#qrcodeModal .text-gray-900 {
    color: var(--az-ink) !important;
}

main .text-gray-800,
main .text-gray-700 {
    color: #1f2933 !important;
}

main .text-gray-600,
#searchModal .text-gray-600,
#qrcodeModal .text-gray-600 {
    color: var(--az-muted) !important;
}

main .text-gray-500,
#searchModal .text-gray-500,
#qrcodeModal .text-gray-500,
main .text-gray-400 {
    color: #6f7373 !important;
}

main input:not(#home-search-input),
main select,
main textarea,
#searchModal input,
#searchModal select,
#searchModal textarea,
#qrcodeModal input,
#qrcodeModal select,
#qrcodeModal textarea {
    min-height: 42px;
    color: var(--az-ink) !important;
    background: #ffffff;
    border: 1px solid #888c8c !important;
    box-shadow: inset 0 1px 2px rgba(15, 17, 17, 0.08) !important;
}

main input:not(#home-search-input):focus,
main select:focus,
main textarea:focus,
#searchModal input:focus,
#searchModal select:focus,
#searchModal textarea:focus {
    border-color: var(--az-orange) !important;
    box-shadow:
        0 0 0 3px rgba(255, 153, 0, 0.28),
        inset 0 1px 2px rgba(15, 17, 17, 0.08) !important;
    outline: none !important;
}

main input::placeholder,
main textarea::placeholder,
#searchModal input::placeholder,
#searchModal textarea::placeholder {
    color: #757575;
}

main button:hover,
main .brand-card:hover,
main .firm-card:hover,
main .pagination-btn:hover:not(:disabled),
#floating-buttons-container button:hover {
    transform: translateY(-1px) !important;
}

main .search-tab,
main .tab-btn,
main .search-mode {
    position: relative;
    color: var(--az-muted) !important;
    background: transparent !important;
    border-bottom-width: 0 !important;
}

main .search-tab.active,
main .tab-btn.active,
main .search-mode.active {
    color: var(--az-ink) !important;
    background: #fff7e6 !important;
    border-color: #fcd200 !important;
}

main .search-tab.active::after,
main .tab-btn.active::after {
    content: "";
    position: absolute;
    left: 16px;
    right: 16px;
    bottom: 0;
    height: 3px;
    border-radius: var(--az-pill);
    background: var(--az-orange);
}

main table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    font-size: 0.925rem;
}

main thead tr,
main table thead tr,
main table thead tr.bg-\[\#ff9600\] {
    background: var(--az-navy) !important;
}

main thead th:not(.light-theme),
main table thead th:not(.light-theme) {
    color: #ffffff !important;
    font-weight: 600;
    letter-spacing: 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.16) !important;
}

main tbody tr {
    background: #ffffff !important;
}

main tbody tr:nth-child(even) {
    background: #f7fafa !important;
}

main tbody tr:hover {
    background: #fff8e7 !important;
}

main tbody td {
    color: var(--az-ink) !important;
    border-bottom: 1px solid var(--az-line) !important;
}

main .case-number-link,
main .hover-text {
    color: var(--az-link) !important;
}

main .cell-hover-bg.show,
main .cell-hover-bg-gray.show {
    background-color: var(--az-navy) !important;
}

main .cell-hover-text-white {
    color: #ffffff !important;
}

main .pagination-btn {
    min-width: 38px;
    min-height: 38px;
    border: 1px solid #a2a6ac !important;
    background: linear-gradient(180deg, #ffffff, #f7fafa) !important;
    color: var(--az-ink) !important;
    border-radius: var(--az-radius-sm) !important;
}

main .faq-toggle {
    background: transparent !important;
}

main .faq-content {
    display: none;
}

main .faq-content[style*="block"] {
    display: block;
}

#sidebar {
    background: var(--az-ink) !important;
    border-right: 1px solid rgba(255, 255, 255, 0.08) !important;
    box-shadow: 12px 0 30px rgba(15, 17, 17, 0.22);
    overflow: hidden;
}

#sidebar::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 180px),
        linear-gradient(90deg, rgba(255, 255, 255, 0.035) 1px, transparent 1px);
    background-size: auto, 28px 28px;
    opacity: 0.7;
}

#sidebar > * {
    position: relative;
    z-index: 1;
}

#sidebar a,
#sidebar button,
#sidebar span,
#sidebar p {
    letter-spacing: 0 !important;
}

#sidebar .border-gray-200 {
    border-color: rgba(255, 255, 255, 0.1) !important;
}

#sidebar a,
#sidebar button {
    color: #d5dbdb !important;
}

#sidebar .text-gray-500,
#sidebar .text-gray-600,
#sidebar .text-gray-700 {
    color: #d5dbdb !important;
}

#sidebar .brand-mark {
    color: #ffffff !important;
    font-weight: 700 !important;
}

#sidebar .special-item {
    padding-left: 0 !important;
    padding-right: 0 !important;
}

#sidebar .special-item > div {
    width: 100%;
    padding: 0.88rem 1rem;
    justify-content: center;
    gap: 0.65rem;
    color: #ffffff !important;
    background: rgba(255, 153, 0, 0.1) !important;
    border: 1px solid rgba(255, 153, 0, 0.42) !important;
    border-left: 4px solid var(--az-orange) !important;
    border-radius: var(--az-radius) !important;
    box-shadow: none !important;
}

#sidebar .special-item i,
#sidebar .special-item span {
    color: #ffffff !important;
}

#sidebar nav > a,
#sidebar nav > div > button,
#sidebar #serviceSubmenu a {
    border: 1px solid transparent;
    border-radius: var(--az-radius) !important;
}

#sidebar nav > a:hover,
#sidebar nav > div > button:hover,
#sidebar #serviceSubmenu a:hover {
    background: rgba(255, 255, 255, 0.08) !important;
    border-color: rgba(255, 255, 255, 0.12) !important;
}

#sidebar .bg-orange-50,
#sidebar .bg-orange-50:hover {
    background: var(--az-navy) !important;
    border-color: rgba(255, 153, 0, 0.55) !important;
    box-shadow: inset 3px 0 0 var(--az-orange) !important;
}

#sidebar .fa-home.text-\[\#ff9600\],
#sidebar .text-\[\#ff9600\] {
    color: #ffffff !important;
}

#sidebar .fa-solid,
#sidebar .fas,
#sidebar i[class*="fa-"] {
    font-family: 'Font Awesome 6 Solid', 'Font Awesome 6 Free', 'Font Awesome 5 Free', sans-serif !important;
    font-weight: 900 !important;
    font-style: normal !important;
    font-variant: normal !important;
    text-rendering: auto !important;
    -webkit-font-smoothing: antialiased !important;
    -moz-osx-font-smoothing: grayscale !important;
}

#sidebar #serviceSubmenu {
    padding-left: 0.5rem !important;
}

#sidebar #serviceSubmenu a {
    margin-top: 0.32rem;
    background: rgba(35, 47, 62, 0.68) !important;
}

#sidebar #sidebarSearch {
    min-height: 44px;
    color: #111 !important;
    background: linear-gradient(180deg, #ffd814, var(--az-gold)) !important;
    border: 1px solid #fcd200 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45) !important;
}

#sidebar #sidebarSearch i,
#sidebar #sidebarSearch span {
    color: #111 !important;
}

#sidebar #sidebarSearch:hover {
    background: linear-gradient(180deg, #f7ca00, #f3a847) !important;
}

footer {
    position: relative;
    overflow: hidden;
    color: #e6e6e6;
    background: var(--az-navy) !important;
    border-top: 4px solid var(--az-navy-soft) !important;
}

footer::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image: linear-gradient(90deg, rgba(255, 255, 255, 0.04) 1px, transparent 1px);
    background-size: 32px 32px;
    opacity: 0.45;
}

footer > * {
    position: relative;
    z-index: 1;
}

footer .text-gray-900,
footer .text-slate-200 {
    color: #ffffff !important;
}

footer .text-gray-600,
footer .text-gray-500,
footer .text-slate-300,
footer .text-slate-400 {
    color: #d5dbdb !important;
}

footer .bg-gray-50,
footer .bg-white\/5,
footer .bg-white\/10 {
    background: rgba(255, 255, 255, 0.06) !important;
}

footer .border-gray-200,
footer .border-white\/10 {
    border-color: rgba(255, 255, 255, 0.12) !important;
}

footer a {
    color: #d5dbdb !important;
}

footer a:hover {
    color: var(--az-gold) !important;
}

#searchModal,
#qrcodeModal {
    backdrop-filter: blur(3px);
}

html.global-search-lock,
body.global-search-lock {
    overflow: hidden;
}

body.global-search-lock > *:not(#searchModal) {
    pointer-events: none;
}

body.global-search-lock > #searchModal {
    pointer-events: auto;
}

.global-search-modal {
    position: fixed !important;
    inset: 0;
    z-index: 9999 !important;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    padding: clamp(14px, 2.8vw, 28px);
    background: rgba(148, 163, 184, 0.2);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
}

.global-search-modal.hidden {
    display: none !important;
}

.global-search-dialog {
    width: min(960px, calc(100vw - 32px));
    max-height: calc(100vh - 32px);
    overflow-y: auto;
    padding: 1.15rem 1.2rem 1.1rem;
    background: rgba(255, 255, 255, 0.98) !important;
    border: 1px solid rgba(141, 154, 168, 0.45) !important;
    border-top: 4px solid var(--az-orange) !important;
    border-radius: 18px !important;
    box-shadow: 0 24px 60px rgba(15, 17, 17, 0.22) !important;
}

.global-search-titlebar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: 1rem;
}

.global-search-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.34rem 0.62rem;
    color: #ffffff;
    background: var(--az-navy);
    border: 1px solid var(--az-navy-soft);
    border-radius: var(--az-pill);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.global-search-titlebar h3 {
    margin-top: 0.7rem;
    color: var(--az-ink);
    font-size: clamp(1.45rem, 3vw, 2rem);
    font-weight: 800;
    line-height: 1.15;
}

.global-search-titlebar p {
    max-width: 44rem;
    margin-top: 0.45rem;
    color: var(--az-muted);
    font-size: 0.9rem;
    line-height: 1.6;
}

.global-search-close {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    min-width: 44px;
    height: 44px;
    color: #ffffff !important;
    background: var(--az-navy) !important;
    border: 1px solid var(--az-navy-soft) !important;
    border-radius: var(--az-radius-sm) !important;
    box-shadow: none !important;
}

.global-search-close:hover {
    background: var(--az-navy-soft) !important;
}

.global-search-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
    align-items: stretch;
}

.global-search-row input {
    min-height: 54px !important;
    font-size: 0.96rem;
    font-weight: 600;
}

.global-search-row button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.55rem;
    min-height: 54px;
    padding: 0 1.15rem;
    font-weight: 800;
    white-space: nowrap;
}

.global-search-hot {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 0.55rem;
    margin-top: 0.9rem;
}

.global-search-hot > span {
    color: var(--az-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.global-search-hot button {
    min-height: 32px;
    padding: 0.34rem 0.68rem;
    color: var(--az-link) !important;
    background: #ffffff !important;
    border: 1px solid var(--az-line) !important;
    border-radius: var(--az-pill) !important;
    box-shadow: none !important;
    font-size: 0.78rem;
    font-weight: 700;
}

.global-search-hot button:hover {
    color: var(--az-ink) !important;
    background: #fff7e6 !important;
    border-color: #fcd200 !important;
}

#floating-buttons-container button {
    background: var(--az-navy) !important;
    color: #ffffff !important;
    border: 1px solid rgba(255, 255, 255, 0.22) !important;
    box-shadow: var(--az-shadow-hover) !important;
}

.page-hero {
    position: relative;
    overflow: hidden;
    padding: 1.5rem !important;
    color: var(--az-ink) !important;
    background: var(--az-surface) !important;
    border: 1px solid var(--az-line) !important;
    border-top: 5px solid var(--az-orange) !important;
    border-radius: var(--az-radius) !important;
    box-shadow: var(--az-shadow) !important;
}

.page-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background-image:
        linear-gradient(90deg, rgba(35, 47, 62, 0.045) 1px, transparent 1px),
        linear-gradient(rgba(35, 47, 62, 0.035) 1px, transparent 1px);
    background-size: 28px 28px;
    opacity: 0.9;
}

.page-hero > * {
    position: relative;
    z-index: 1;
}

.page-hero .hero-title,
.page-hero h1,
.page-hero p {
    color: var(--az-ink) !important;
}

.page-hero .hero-title .text-amber-300,
.page-hero .text-amber-300 {
    color: var(--az-orange-deep) !important;
}

.hero-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.55rem;
    padding: 0.45rem 0.72rem;
    color: #ffffff;
    background: var(--az-navy) !important;
    border: 1px solid var(--az-navy-soft) !important;
    font-size: 0.78rem;
    font-weight: 600;
    text-transform: uppercase;
}

.metric-card,
.tool-card,
.insight-card,
.action-card,
.signal-card {
    position: relative;
    overflow: hidden;
}

.metric-card::before,
.tool-card::before,
.insight-card::before,
.action-card::before,
.signal-card::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background: linear-gradient(90deg, rgba(255, 153, 0, 0.12), transparent 42%);
    opacity: 0;
    transition: opacity 0.16s ease;
}

.metric-card:hover::before,
.tool-card:hover::before,
.insight-card:hover::before,
.action-card:hover::before,
.signal-card:hover::before {
    opacity: 1;
}

.metric-card > *,
.tool-card > *,
.insight-card > *,
.action-card > *,
.signal-card > * {
    position: relative;
    z-index: 1;
}

.section-heading {
    display: flex;
    align-items: center;
    gap: 0.72rem;
    margin-bottom: 1rem;
    color: var(--az-ink);
}

.section-heading .line {
    width: 34px;
    height: 3px;
    border-radius: var(--az-pill);
    background: var(--az-orange);
}

.status-pill {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.34rem 0.68rem;
    color: var(--az-ink);
    background: #f7fafa;
    border: 1px solid var(--az-line);
    font-size: 0.78rem;
    font-weight: 600;
}

.status-pill.warn {
    color: var(--az-danger);
    background: #fff7e6;
    border-color: #fcd200;
}

.status-pill.dark {
    color: #ffffff;
    background: var(--az-navy);
    border-color: var(--az-navy-soft);
}

.home-dashboard {
    --home-accent-dark: #e5e7eb;
    --home-accent-deep: #d1d5db;
    --home-accent-soft: #f3f4f6;
    --home-accent-line: #cbd5e1;
    --home-accent-text: #334155;
    --home-accent-muted: #475569;
}

.home-dashboard .hero-kicker,
.home-dashboard .quick-search-kicker {
    color: var(--home-accent-text) !important;
    background: var(--home-accent-dark) !important;
    border-color: var(--home-accent-deep) !important;
}

.home-dashboard .status-pill.dark {
    color: var(--home-accent-text) !important;
    background: var(--home-accent-dark) !important;
    border-color: var(--home-accent-deep) !important;
}

.data-rack {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.tool-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.process-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0.85rem;
}

.process-step {
    position: relative;
    padding-left: 1rem;
}

.process-step::before {
    content: "";
    position: absolute;
    left: 0;
    top: 0.38rem;
    bottom: 0.38rem;
    width: 3px;
    background: var(--az-orange);
    border-radius: var(--az-pill);
}

.hero-panel {
    color: #ffffff !important;
    background: var(--az-navy) !important;
    border: 1px solid var(--az-navy-soft) !important;
    box-shadow: none !important;
}

.home-dashboard .hero-panel {
    background: linear-gradient(180deg, #f8fafc 0%, var(--home-accent-dark) 100%) !important;
    border-color: var(--home-accent-line) !important;
}

.home-dashboard .hero-panel,
.home-dashboard .hero-panel *,
.home-dashboard .metric-card.hero-panel *,
.home-dashboard .page-hero .hero-panel h2,
.home-dashboard .page-hero .hero-panel p,
.home-dashboard .page-hero .hero-panel .text-white,
.home-dashboard .page-hero .hero-panel .text-slate-100,
.home-dashboard .page-hero .hero-panel .text-slate-300 {
    color: var(--home-accent-text) !important;
}

.home-dashboard .hero-panel .text-amber-200,
.home-dashboard .hero-panel .text-amber-300,
.home-dashboard .hero-panel .text-emerald-300,
.home-dashboard .hero-panel .text-sky-300 {
    color: var(--az-orange-deep) !important;
}

.hero-panel *,
.metric-card.hero-panel *,
.page-hero .hero-panel h2,
.page-hero .hero-panel p,
.page-hero .hero-panel .text-white,
.page-hero .hero-panel .text-slate-100,
.page-hero .hero-panel .text-slate-300 {
    color: #ffffff !important;
}

.hero-panel .text-amber-200,
.hero-panel .text-amber-300,
.hero-panel .text-emerald-300,
.hero-panel .text-sky-300 {
    color: var(--az-gold) !important;
}

.hero-panel input,
.hero-panel select,
.hero-panel textarea {
    color: #111 !important;
    background: #ffffff !important;
    border-color: #8d9aa8 !important;
}

.hero-panel input::placeholder,
.hero-panel textarea::placeholder {
    color: #757575 !important;
}

.quick-search-panel {
    position: relative;
    display: grid;
    gap: 1rem;
    overflow: hidden;
    min-height: 100%;
    padding: 1.25rem;
    color: var(--az-ink);
    background: #ffffff !important;
    border: 1px solid var(--az-line) !important;
    border-top: 5px solid var(--az-orange) !important;
    border-radius: var(--az-radius) !important;
    box-shadow: var(--az-shadow) !important;
}

.quick-search-panel::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
    background:
        linear-gradient(90deg, rgba(255, 153, 0, 0.1), transparent 44%),
        linear-gradient(rgba(35, 47, 62, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(35, 47, 62, 0.035) 1px, transparent 1px);
    background-size: auto, 24px 24px, 24px 24px;
    opacity: 0.85;
}

.quick-search-panel > * {
    position: relative;
    z-index: 1;
}

.quick-search-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
}

.quick-search-kicker {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    padding: 0.35rem 0.62rem;
    color: #ffffff;
    background: var(--az-navy);
    border: 1px solid var(--az-navy-soft);
    border-radius: var(--az-pill);
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.quick-search-head h2 {
    margin-top: 0.75rem;
    color: var(--az-ink) !important;
    font-size: clamp(1.45rem, 2vw, 2rem);
    font-weight: 800;
    line-height: 1.18;
}

.quick-search-head p {
    max-width: 30rem;
    margin-top: 0.45rem;
    color: var(--az-muted) !important;
    font-size: 0.92rem;
    line-height: 1.65;
}

main .quick-search-icon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 44px;
    height: 44px;
    color: #ffffff !important;
    background: var(--az-navy) !important;
    border: 1px solid var(--az-navy-soft) !important;
    border-radius: var(--az-radius-sm) !important;
    box-shadow: none !important;
}

.home-dashboard main .quick-search-icon-btn {
    color: var(--home-accent-text) !important;
    background: var(--home-accent-dark) !important;
    border-color: var(--home-accent-deep) !important;
}

main .quick-search-icon-btn:hover {
    background: var(--az-navy-soft) !important;
}

.home-dashboard main .quick-search-icon-btn:hover {
    background: var(--home-accent-deep) !important;
}

.quick-search-tabs {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0.5rem;
}

main .quick-search-panel .search-tab {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 44px;
    padding: 0.58rem 0.45rem;
    color: var(--az-ink) !important;
    background: #f7fafa !important;
    border: 1px solid var(--az-line) !important;
    border-radius: var(--az-radius-sm) !important;
    box-shadow: none !important;
    font-size: 0.86rem;
    font-weight: 700;
    text-align: center;
    white-space: nowrap;
}

main .quick-search-panel .search-tab i {
    color: var(--az-orange-deep) !important;
}

main .quick-search-panel .search-tab.active {
    color: #ffffff !important;
    background: var(--az-navy) !important;
    border-color: var(--az-navy-soft) !important;
}

.home-dashboard main .quick-search-panel .search-tab.active {
    color: var(--home-accent-text) !important;
    background: var(--home-accent-dark) !important;
    border-color: var(--home-accent-deep) !important;
}

main .quick-search-panel .search-tab.active i {
    color: var(--az-gold) !important;
}

main .quick-search-panel .search-tab::after {
    display: none !important;
}

.quick-search-box {
    display: grid;
    gap: 0.8rem;
    padding: 0.9rem;
    background: var(--az-surface-soft);
    border: 1px solid var(--az-line);
    border-radius: var(--az-radius);
}

.quick-search-input-row {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 0.75rem;
}

.quick-search-input-wrap {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    min-width: 0;
    min-height: 54px;
    padding: 0 0.95rem;
    background: #ffffff;
    border: 2px solid var(--az-navy);
    border-radius: var(--az-radius-sm);
    box-shadow: inset 0 1px 2px rgba(15, 17, 17, 0.06);
}

.home-dashboard .quick-search-input-wrap {
    border-color: var(--home-accent-dark);
}

.quick-search-input-wrap i {
    color: var(--az-orange-deep);
    flex-shrink: 0;
}

main .quick-search-input {
    flex: 1;
    min-width: 0;
    min-height: 50px;
    padding: 0 !important;
    color: var(--az-ink) !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    font-size: 0.98rem;
    font-weight: 600;
}

main .quick-search-input::placeholder {
    color: #5f6368 !important;
    font-weight: 500;
}

main .quick-search-input:focus {
    border: 0 !important;
    box-shadow: none !important;
}

main .quick-search-submit {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.5rem;
    min-height: 54px;
    padding: 0 1.15rem;
    color: #111 !important;
    background: linear-gradient(180deg, #ffd814 0%, var(--az-gold) 52%, var(--az-orange) 100%) !important;
    border: 1px solid #fcd200 !important;
    border-radius: var(--az-radius-sm) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.45), 0 2px 5px rgba(213, 126, 0, 0.22) !important;
    font-weight: 800;
    white-space: nowrap;
}

main .quick-search-submit:hover {
    background: linear-gradient(180deg, #f7ca00 0%, #f0b84a 50%, #f3a847 100%) !important;
}

.quick-search-helper {
    display: flex;
    align-items: center;
    gap: 0.65rem;
    flex-wrap: wrap;
}

.quick-search-helper > span {
    color: var(--az-muted);
    font-size: 0.82rem;
    font-weight: 700;
}

.quick-search-chip-row {
    display: flex;
    flex-wrap: wrap;
    gap: 0.45rem;
}

main .quick-search-chip {
    min-height: 30px;
    padding: 0.32rem 0.62rem;
    color: var(--az-link) !important;
    background: #ffffff !important;
    border: 1px solid var(--az-line) !important;
    border-radius: var(--az-pill) !important;
    box-shadow: none !important;
    font-size: 0.78rem;
    font-weight: 700;
}

main .quick-search-chip:hover {
    color: var(--az-ink) !important;
    background: #fff7e6 !important;
    border-color: #fcd200 !important;
}

.quick-search-insights {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.75rem;
}

.quick-search-insight {
    display: flex;
    gap: 0.65rem;
    min-width: 0;
    padding: 0.85rem;
    background: #ffffff;
    border: 1px solid var(--az-line);
    border-radius: var(--az-radius);
}

.quick-search-insight i {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    width: 32px;
    height: 32px;
    color: #ffffff;
    background: var(--az-navy);
    border-radius: var(--az-radius-sm);
}

.home-dashboard .quick-search-insight i {
    color: var(--home-accent-text);
    background: var(--home-accent-dark);
}

.quick-search-insight strong {
    display: block;
    color: var(--az-ink);
    font-size: 0.88rem;
}

.quick-search-insight span {
    display: block;
    margin-top: 0.2rem;
    color: var(--az-muted);
    font-size: 0.78rem;
    line-height: 1.55;
}

.brand-card,
.firm-card,
.tool-card {
    min-height: 100%;
}

.brand-card:hover,
.firm-card:hover,
.tool-card:hover {
    transform: translateY(-2px) !important;
}

.article-body,
.prose {
    color: var(--az-ink);
    line-height: 1.82;
}

.prose h2,
.prose h3,
.article-body h2,
.article-body h3 {
    color: var(--az-ink) !important;
}

.prose p,
.prose li,
.article-body p,
.article-body li {
    color: #374151 !important;
}

main img {
    border-radius: var(--az-radius-sm);
}

main .fixed,
#searchModal .fixed {
    z-index: 50;
}

.settlement-estimator {
    overflow: hidden;
}

.settlement-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 1rem;
    padding: 1.2rem 1.5rem;
    color: #ffffff;
    background: linear-gradient(135deg, var(--az-navy) 0%, #182331 58%, #314154 100%) !important;
    border-bottom: 4px solid var(--az-orange);
}

.home-dashboard .settlement-head {
    color: var(--home-accent-text);
    background: linear-gradient(180deg, #f8fafc 0%, var(--home-accent-dark) 100%) !important;
    border-bottom-color: var(--home-accent-line);
}

.home-dashboard .settlement-head h2,
.home-dashboard .settlement-head .settlement-eyebrow {
    color: var(--home-accent-text) !important;
}

.settlement-head h2 {
    margin-top: 0.32rem;
    color: #ffffff !important;
    font-size: 1.35rem;
    font-weight: 700;
}

.settlement-eyebrow {
    color: #ffdf9a;
    font-size: 0.72rem;
    font-weight: 700;
    text-transform: uppercase;
}

.settlement-badge {
    display: inline-flex;
    align-items: center;
    gap: 0.45rem;
    flex-shrink: 0;
    padding: 0.42rem 0.68rem;
    color: #111;
    background: #ffd814;
    border: 1px solid #fcd200;
    border-radius: var(--az-pill);
    font-size: 0.78rem;
    font-weight: 700;
}

.settlement-body {
    display: grid;
    grid-template-columns: minmax(220px, 0.9fr) minmax(0, 1.1fr);
    min-height: 356px;
}

.settlement-summary {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 1.25rem;
    padding: 1.4rem 1.5rem;
    background: var(--az-surface-soft);
    border-right: 1px solid var(--az-line);
}

.settlement-summary-row,
.settlement-scale-labels,
.settlement-control-header,
.settlement-ruler {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
}

.settlement-summary-row span,
.settlement-scale-labels,
.settlement-ruler,
.settlement-scale p,
.settlement-factor-list span {
    color: var(--az-muted);
    font-size: 0.78rem;
}

.settlement-summary-row strong {
    color: var(--az-link);
    font-size: 0.82rem;
}

.settlement-amount {
    margin-top: 0.6rem;
    color: var(--az-ink);
    font-size: clamp(2.1rem, 4vw, 3.2rem);
    font-weight: 700;
    line-height: 1;
}

.settlement-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.8rem;
    margin-top: 1rem;
    padding: 0.85rem 0.95rem;
    background: #ffffff;
    border: 1px solid var(--az-line);
    border-left: 4px solid var(--az-orange);
    border-radius: var(--az-radius-sm);
}

.settlement-band span {
    color: var(--az-muted);
    font-size: 0.8rem;
}

.settlement-band strong {
    color: var(--az-orange-deep);
    font-size: 0.95rem;
}

.settlement-scale-track {
    position: relative;
    height: 9px;
    margin: 0.65rem 0 0.75rem;
    overflow: visible;
    background: linear-gradient(90deg, #007185 0%, #ffd814 52%, #b12704 100%);
    border-radius: var(--az-pill);
}

.settlement-scale-track i {
    position: absolute;
    top: 50%;
    left: var(--risk-position, 36%);
    width: 16px;
    height: 16px;
    background: #ffffff;
    border: 3px solid var(--az-navy);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(15, 17, 17, 0.22);
    transform: translate(-50%, -50%);
    transition: left 0.18s ease;
}

.settlement-controls {
    display: grid;
    gap: 1.1rem;
    align-content: start;
    padding: 1.35rem 1.5rem;
}

.settlement-control {
    display: grid;
    gap: 0.55rem;
}

.settlement-control-header label {
    color: var(--az-ink);
    font-size: 0.9rem;
    font-weight: 700;
}

.settlement-control-header output {
    color: var(--az-link);
    font-size: 0.9rem;
    font-weight: 700;
}

main .settlement-slider {
    width: 100%;
    min-height: 6px !important;
    height: 6px !important;
    padding: 0 !important;
    appearance: none;
    background: linear-gradient(90deg, var(--az-orange) 0%, var(--az-orange) var(--fill, 0%), #d5d9d9 var(--fill, 0%), #d5d9d9 100%) !important;
    border: 0 !important;
    border-radius: var(--az-pill) !important;
    box-shadow: none !important;
}

main .settlement-slider::-webkit-slider-thumb {
    width: 18px;
    height: 18px;
    appearance: none;
    background: #ffffff;
    border: 4px solid var(--az-navy);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(15, 17, 17, 0.22);
}

main .settlement-slider::-moz-range-thumb {
    width: 14px;
    height: 14px;
    background: #ffffff;
    border: 4px solid var(--az-navy);
    border-radius: 50%;
    box-shadow: 0 2px 8px rgba(15, 17, 17, 0.22);
}

.settlement-ruler {
    font-size: 0.74rem;
}

.settlement-scenario {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    border: 0;
}

.settlement-scenario legend {
    grid-column: 1 / -1;
    margin-bottom: 0.05rem;
    color: var(--az-ink);
    font-size: 0.9rem;
    font-weight: 700;
}

.settlement-scenario label {
    min-width: 0;
    position: relative;
}

main .settlement-scenario input {
    position: absolute;
    width: 1px !important;
    min-height: 0 !important;
    height: 1px !important;
    margin: 0 !important;
    padding: 0 !important;
    opacity: 0;
    border: 0 !important;
    box-shadow: none !important;
}

.settlement-scenario span {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 38px;
    padding: 0.45rem 0.35rem;
    color: var(--az-muted);
    background: #ffffff;
    border: 1px solid var(--az-line);
    border-radius: var(--az-radius-sm);
    font-size: 0.82rem;
    font-weight: 700;
    text-align: center;
}

.settlement-scenario input:checked + span {
    color: var(--az-ink);
    background: #fff7e6;
    border-color: #fcd200;
    box-shadow: inset 0 0 0 1px rgba(255, 153, 0, 0.22);
}

.settlement-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
    padding: 1rem 1.5rem;
    background: #ffffff;
    border-top: 1px solid var(--az-line);
}

.settlement-factor-list {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.8rem;
    flex: 1;
}

.settlement-factor-list div {
    min-width: 0;
    padding-left: 0.72rem;
    border-left: 3px solid var(--az-orange);
}

.settlement-factor-list strong {
    display: block;
    margin-top: 0.18rem;
    color: var(--az-ink);
    font-size: 0.9rem;
}

main .settlement-reset {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 0.45rem;
    min-height: 40px;
    padding: 0.62rem 0.95rem;
    color: #ffffff !important;
    background: var(--az-navy) !important;
    border: 1px solid var(--az-navy-soft) !important;
    border-radius: var(--az-radius-sm) !important;
    box-shadow: none !important;
    font-weight: 700;
}

.home-dashboard main .settlement-reset {
    color: var(--home-accent-text) !important;
    background: var(--home-accent-dark) !important;
    border-color: var(--home-accent-deep) !important;
}

main .settlement-reset:hover {
    background: var(--az-navy-soft) !important;
}

.home-dashboard main .settlement-reset:hover {
    background: var(--home-accent-deep) !important;
}

@media (max-width: 1280px) {
    .tool-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .process-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .quick-search-tabs,
    .quick-search-insights {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1024px) {
    main {
        padding-top: 16px !important;
    }

    .data-rack,
    .tool-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    body::before {
        opacity: 0.24;
    }

    .settlement-body {
        grid-template-columns: 1fr;
    }

    .settlement-summary {
        border-right: 0;
        border-bottom: 1px solid var(--az-line);
    }
}

@media (max-width: 768px) {
    .page-hero {
        padding: 1rem !important;
    }

    .global-search-modal {
        padding: 12px;
    }

    .global-search-dialog {
        width: calc(100vw - 24px);
        max-height: calc(100vh - 24px);
        padding: 1rem;
    }

    .global-search-titlebar {
        flex-direction: column;
    }

    .global-search-close {
        width: 100%;
    }

    .global-search-row {
        grid-template-columns: 1fr;
    }

    .global-search-row button {
        width: 100%;
    }

    .data-rack,
    .tool-grid,
    .process-grid {
        grid-template-columns: 1fr;
    }

    main .flex.p-4,
    #searchModal .flex {
        flex-direction: column;
        gap: 0.75rem;
    }

    main .flex.p-4 button,
    #searchModal .flex button {
        margin-left: 0 !important;
        width: 100%;
    }

    .quick-search-head,
    .quick-search-input-row {
        grid-template-columns: 1fr;
    }

    .quick-search-head {
        flex-direction: column;
    }

    .quick-search-icon-btn,
    .quick-search-submit {
        width: 100%;
    }

    .quick-search-tabs,
    .quick-search-insights {
        grid-template-columns: 1fr;
    }

    .settlement-head,
    .settlement-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .settlement-factor-list,
    .settlement-scenario {
        grid-template-columns: 1fr;
    }

    .settlement-band {
        align-items: flex-start;
        flex-direction: column;
    }
}
