/* 全站顶栏：博客风，不展示酒店品牌 */
.site-nav {
    --sn-ink: #1c1917;
    --sn-muted: #78716c;
    --sn-line: #e7e5e4;
    --sn-paper: rgba(255, 252, 248, 0.92);
    --sn-accent: #0f766e;
    position: sticky;
    top: 0;
    z-index: 1030;
    background: var(--sn-paper);
    backdrop-filter: blur(10px);
    border-bottom: 1px solid var(--sn-line);
}
.site-nav-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0.7rem 1.25rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1rem;
}
.site-nav-brand {
    font-family: Georgia, "Times New Roman", "Songti SC", "Noto Serif SC", serif;
    font-size: 1.2rem;
    font-weight: 700;
    letter-spacing: 0.02em;
    color: var(--sn-ink);
    text-decoration: none;
}
.site-nav-brand:hover { color: var(--sn-accent); }
.site-nav-actions {
    display: flex;
    align-items: center;
    gap: 0.85rem;
    flex-wrap: wrap;
    justify-content: flex-end;
}
.site-nav-home,
.site-nav-ib,
.site-nav-remind,
.site-nav-linkbtn,
.site-nav-logout {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0;
    font: inherit;
    font-size: 0.9rem;
    color: var(--sn-muted);
    text-decoration: none;
    cursor: pointer;
    line-height: 1.2;
}
.site-nav-home:hover,
.site-nav-ib:hover,
.site-nav-remind:hover,
.site-nav-linkbtn:hover { color: var(--sn-ink); }
.site-nav-ib {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    color: #c2410c;
    font-weight: 600;
}
.site-nav-ib-badge {
    min-width: 1.25rem;
    height: 1.25rem;
    padding: 0 0.35rem;
    border-radius: 999px;
    background: #c2410c;
    color: #fff;
    font-size: 0.72rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}
.site-remind-wrap {
    position: relative;
    display: inline-flex;
    align-items: center;
}
.site-nav-remind {
    appearance: none;
    border: 0;
    background: transparent;
    padding: 0.15rem 0.2rem;
    font: inherit;
    font-size: 1.1rem;
    color: var(--sn-muted);
    cursor: pointer;
    line-height: 1;
    position: relative;
    display: inline-flex;
    align-items: center;
}
.site-nav-remind-badge {
    position: absolute;
    top: -0.35rem;
    right: -0.45rem;
    min-width: 1.1rem;
    height: 1.1rem;
    padding: 0 0.28rem;
    border-radius: 999px;
    background: #dc2626;
    color: #fff;
    font-size: 0.68rem;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    line-height: 1;
}
.site-nav-remind-badge[hidden] { display: none !important; }
.site-remind-panel {
    position: absolute;
    top: calc(100% + 0.45rem);
    right: 0;
    width: min(22rem, 92vw);
    max-height: min(24rem, 70vh);
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid var(--sn-line);
    border-radius: 12px;
    box-shadow: 0 12px 32px rgba(28, 25, 23, 0.12);
    z-index: 1040;
    overflow: hidden;
}
.site-remind-panel[hidden] { display: none !important; }
.site-remind-panel-h {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    padding: 0.65rem 0.85rem;
    border-bottom: 1px solid var(--sn-line);
    font-size: 0.88rem;
    font-weight: 700;
    color: var(--sn-ink);
}
.site-remind-mark-all {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--sn-accent);
    font-size: 0.78rem;
    cursor: pointer;
    padding: 0;
}
.site-remind-mark-all:hover { text-decoration: underline; }
.site-remind-list {
    overflow-y: auto;
    overscroll-behavior: contain;
}
.site-remind-empty {
    padding: 1.25rem 0.85rem;
    font-size: 0.88rem;
    text-align: center;
}
.site-remind-item {
    display: block;
    width: 100%;
    text-align: left;
    border: 0;
    border-bottom: 1px solid #f5f5f4;
    background: #fff;
    padding: 0.7rem 0.85rem;
    cursor: pointer;
}
.site-remind-item:hover { background: #fafaf9; }
.site-remind-item.is-unread {
    background: #fff7ed;
}
.site-remind-item.is-unread:hover { background: #ffedd5; }
.site-remind-item-title {
    font-size: 0.88rem;
    font-weight: 650;
    color: var(--sn-ink);
    line-height: 1.35;
    margin-bottom: 0.2rem;
}
.site-remind-item-msg {
    font-size: 0.82rem;
    color: #57534e;
    line-height: 1.35;
    margin-bottom: 0.25rem;
    white-space: pre-wrap;
    word-break: break-word;
}
.site-remind-item-meta {
    font-size: 0.75rem;
    color: var(--sn-muted);
}

/* 发送弹窗：勾选同事 + 留言 */
.site-remind-send-modal {
    position: fixed !important;
    inset: 0;
    z-index: 10050 !important;
    background: rgba(28, 25, 23, 0.42);
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 1rem;
}
.site-remind-send-modal[hidden] { display: none !important; }
.site-remind-send-dialog {
    width: min(26rem, 96vw);
    max-height: min(88vh, 36rem);
    overflow: auto;
    background: #fffefb;
    border: 1px solid var(--sn-line);
    border-radius: 14px;
    box-shadow: 0 18px 48px rgba(28, 25, 23, 0.18);
    padding: 1rem 1.1rem 1.1rem;
}
.site-remind-send-h {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.5rem;
    margin-bottom: 0.35rem;
}
.site-remind-send-h strong { font-size: 1.05rem; color: var(--sn-ink); }
.site-remind-send-close {
    appearance: none;
    border: 0;
    background: transparent;
    font-size: 1.4rem;
    line-height: 1;
    color: var(--sn-muted);
    cursor: pointer;
}
.site-remind-send-sub {
    font-size: 0.82rem;
    color: var(--sn-muted);
    margin: 0 0 0.65rem;
    line-height: 1.4;
}
.site-remind-send-toolbar {
    display: flex;
    gap: 0.75rem;
    margin-bottom: 0.45rem;
}
.site-remind-linkbtn {
    appearance: none;
    border: 0;
    background: transparent;
    color: var(--sn-accent);
    font-size: 0.8rem;
    cursor: pointer;
    padding: 0;
}
.site-remind-linkbtn:hover { text-decoration: underline; }
.site-remind-peer-list {
    max-height: 12rem;
    overflow-y: auto;
    border: 1px solid var(--sn-line);
    border-radius: 10px;
    padding: 0.35rem 0.5rem;
    margin-bottom: 0.75rem;
    background: #fff;
}
.site-remind-peer {
    display: flex;
    align-items: center;
    gap: 0.5rem;
    padding: 0.35rem 0.25rem;
    font-size: 0.9rem;
    cursor: pointer;
}
.site-remind-peer:hover { background: #fafaf9; }
.site-remind-msg-label {
    display: block;
    font-size: 0.82rem;
    font-weight: 650;
    color: var(--sn-ink);
    margin-bottom: 0.3rem;
}
.site-remind-message {
    width: 100%;
    box-sizing: border-box;
    border: 1px solid var(--sn-line);
    border-radius: 10px;
    padding: 0.55rem 0.65rem;
    font: inherit;
    font-size: 0.9rem;
    resize: vertical;
    min-height: 4.5rem;
    margin-bottom: 0.85rem;
}
.site-remind-send-actions {
    display: flex;
    justify-content: flex-end;
    gap: 0.5rem;
}
.site-remind-btn-ghost,
.site-remind-btn-primary {
    appearance: none;
    border: 1px solid var(--sn-line);
    border-radius: 999px;
    padding: 0.4rem 0.95rem;
    font: inherit;
    font-size: 0.88rem;
    font-weight: 650;
    cursor: pointer;
}
.site-remind-btn-ghost {
    background: #fff;
    color: var(--sn-ink);
}
.site-remind-btn-primary {
    border-color: var(--sn-ink);
    background: var(--sn-ink);
    color: #fff;
}
.site-remind-btn-primary:hover { background: var(--sn-accent); border-color: var(--sn-accent); }
.site-remind-btn-primary:disabled { opacity: 0.55; cursor: not-allowed; }
.site-nav-collapse-remind {
    appearance: none;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 0.45rem 0;
    font: inherit;
    color: inherit;
    cursor: pointer;
}
.site-nav-user {
    font-size: 0.9rem;
    color: var(--sn-ink);
    font-weight: 600;
    max-width: 10rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.site-nav-logout {
    color: #fff;
    background: var(--sn-ink);
    padding: 0.35rem 0.75rem;
    border-radius: 999px;
    font-size: 0.82rem;
    font-weight: 600;
}
.site-nav-logout:hover {
    background: var(--sn-accent);
    color: #fff;
}
.site-nav-toggle {
    display: none;
    appearance: none;
    border: 1px solid var(--sn-line);
    background: #fff;
    border-radius: 8px;
    width: 2.25rem;
    height: 2.25rem;
    color: var(--sn-ink);
    align-items: center;
    justify-content: center;
}
.site-nav-collapse {
    border-top: 1px solid var(--sn-line);
    background: #fffefb;
}
.site-nav-collapse-inner {
    max-width: 1100px;
    margin: 0 auto;
    padding: 0.75rem 1.25rem 1rem;
    display: flex;
    flex-direction: column;
    gap: 0.65rem;
}
.site-nav-collapse-inner a,
.site-nav-collapse-inner button {
    appearance: none;
    border: 0;
    background: transparent;
    text-align: left;
    padding: 0.35rem 0;
    font: inherit;
    font-size: 0.95rem;
    color: var(--sn-ink);
    text-decoration: none;
    cursor: pointer;
}
.site-nav-collapse-inner .is-logout { color: #b42318; font-weight: 600; }

@media (max-width: 720px) {
    .site-nav-actions { display: none; }
    .site-nav-toggle { display: inline-flex; }
}

/* 兼容旧页面里残留的 .navbar 选择器（已不再输出 Bootstrap navbar） */
nav.navbar { display: none !important; }
