/* Shared theme and interaction rules; page layouts remain in their own files. */
:root {
    --primary-bg: #f5f7fc;
    --white: #ffffff;
    --text-main: #1d1d1f;
    --text-muted: #86868b;
    --primary-color: #6366f1;
    --gradient-btn: linear-gradient(135deg, #a855f7, #6366f1);
    --border-radius: 16px;
}
:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 3px; }
.app-container { background: transparent; }
.sub-item.active { color: var(--primary-color); font-weight: 700; background: #f0edff; }
.main-layout {
    background: url('../images/insurance/profilebg.webp') center top / 100% auto no-repeat #f2f4fa;
}
@media (min-width: 1024px) {
    .sidebar-section {
        background-image: url('../images/insurance/sidebar-list-bg.webp');
        background-size: cover;
    }
}
[hidden] { display: none !important; }
.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
@media (min-width: 1024px) {
    .header-pc-center { gap: 10px; padding: 6px; flex-shrink: 0; }
    .header-pc-left, .header-pc-right { min-width: max-content; }
    .header-pc .search-pill-pc, .header-pc .balance-pill { white-space: nowrap; flex-shrink: 0; }
    .header-pc-center > a {
        height: 44px;
        flex-shrink: 0;
        transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
    }
    .header-pc-center .nav-icon-btn { width: 44px; background: #f4efff; }
    .header-pc-center .nav-chip-main { padding: 0 18px; gap: 9px; font-size: 15px; white-space: nowrap; }
    .header-pc-center > a img { width: 30px; height: 30px; object-fit: contain; }
    .header-pc-center > a:focus-visible {
        transform: translateY(-2px) scale(1.08);
        box-shadow: 0 6px 16px rgba(99,102,241,.22);
    }
}
@media (min-width: 1024px) and (hover: hover) and (pointer: fine) {
    .header-pc-center > a:hover {
        transform: translateY(-2px) scale(1.1);
        box-shadow: 0 6px 16px rgba(99,102,241,.22);
    }
    .header-pc-center .nav-icon-btn:hover { background: #e9e0ff; }
    .header-pc-center > a:active { transform: scale(.97); }
}
@media (min-width: 1024px) and (max-width: 1199px) {
    .header-pc { padding-left: 20px; padding-right: 20px; gap: 12px; }
    .header-pc-center { gap: 7px; }
    .header-pc-right { gap: 8px; }
    .header-pc .search-pill-pc { padding: 10px; margin-right: 0; }
    .header-pc .btn-logout span { display: none; }
}
@media (prefers-reduced-motion: reduce) {
    .header-pc-center > a { transition: none; }
    .header-pc-center > a:hover, .header-pc-center > a:focus-visible, .header-pc-center > a:active { transform: none; }
}
.btn-logout {
    align-items: center;
    justify-content: center;
    gap: 6px;
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid #e2e8f0;
    border-radius: 20px;
    background: #fff;
    color: #475569;
    font-size: 13px;
    font-weight: 600;
    white-space: nowrap;
    cursor: pointer;
    flex-shrink: 0;
}
.btn-logout:hover { color: #b91c1c; border-color: #fecaca; background: #fff1f2; }
@media (max-width: 1023px) {
    .btn-logout { width: 36px; padding: 8px; }
    .btn-logout span { display: none; }
}
