/* ============================================================
   青阳阁 · 老黄历（通书）模块样式
   文件：css/almanac/almanac.css      作用域：/almanac/* 全部页面
   ------------------------------------------------------------
   设计基调（老黄历 / 通书风格）：
     · 纸本底：宣纸米黄 #fbf6ea，卡片米白 #fffdf7
     · 主色：朱红 #b4322c（宜 · 吉 · 强调），墨黑 #33302b（忌 · 正文）
     · 辅色：赭金 #b08b3e（分隔 · 边框 · 小标题）
     · 字体：标题用宋体（Songti SC / SimSun）竖排气质，正文用系统默认
     · 版式：「宜 / 忌」双栏并置为视觉主体，神煞与细目以田字格排布
   约束：本文件仅服务 /almanac/*，不得影响 万年历（calendar）等其它模块。
         通用变量（--text-primary 等）取自 css/common/common.css。
   ============================================================ */

.alm-page {
    --alm-paper: #fbf6ea;
    --alm-card: #fffdf7;
    --alm-ink: #33302b;
    --alm-ink-2: #6b6154;
    --alm-ink-3: #9a8f7d;
    --alm-red: #b4322c;
    --alm-red-soft: #f7e6e2;
    --alm-gold: #b08b3e;
    --alm-line: #e3d8c0;
    --alm-line-soft: #efe7d6;
    background: var(--alm-paper);
    padding-bottom: 28px;
}

/* ------------------------------------------------------------ 面包屑 */
.alm-page .breadcrumb {
    color: var(--alm-ink-3);
    margin: 14px 0 12px;
    font-size: .82rem;
}

.alm-page .breadcrumb a {
    color: var(--alm-ink-2);
}

.alm-page .breadcrumb a:hover {
    color: var(--alm-red);
}

/* ------------------------------------------------------------ 卡片基座 */
.alm-card {
    background: var(--alm-card);
    border: 1px solid var(--alm-line);
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(90, 70, 40, .06);
    margin-bottom: 16px;
}

.alm-card-hd {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
    padding: 10px 16px;
    border-bottom: 1px solid var(--alm-line-soft);
    background: linear-gradient(180deg, #fffdf7, #faf4e6);
    border-radius: 6px 6px 0 0;
}

.alm-card-hd h3 {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 700;
    color: var(--alm-ink);
    font-family: "Songti SC", STSong, SimSun, serif;
    letter-spacing: 1px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.alm-card-hd h3::before {
    content: "";
    width: 4px;
    height: 16px;
    border-radius: 2px;
    background: var(--alm-red);
}

.alm-card-hd .alm-hd-tip {
    font-size: .78rem;
    color: var(--alm-ink-3);
}

/* 吉日结果记录数（卡片头最右侧） */
.alm-card-hd .alm-result-count {
    font-size: .82rem;
    color: var(--alm-ink-2);
    margin-left: auto;
    white-space: nowrap;
}
.alm-card-hd .alm-result-count b {
    color: var(--alm-red);
    font-weight: 700;
    font-size: .92rem;
}

/* 结果分页（默认每页 20 条） */
.alm-pager {
    display: flex; flex-wrap: wrap; align-items: center; justify-content: center;
    gap: 6px; margin-top: 18px; padding-top: 14px;
    border-top: 1px dashed var(--alm-line-soft);
}
.alm-pager .pg-btn {
    min-width: 34px; height: 32px; padding: 0 12px;
    display: inline-flex; align-items: center; justify-content: center;
    border: 1px solid var(--alm-line); border-radius: 6px;
    background: var(--alm-card); color: var(--alm-ink-2);
    font-size: .85rem; text-decoration: none; cursor: pointer; transition: .2s;
}
.alm-pager .pg-btn:hover {
    border-color: var(--alm-red); color: var(--alm-red);
}
.alm-pager .pg-btn.pg-cur {
    background: var(--alm-red); color: #fff; border-color: var(--alm-red); font-weight: 600;
}
.alm-pager .pg-ellipsis {
    color: var(--alm-ink-3); padding: 0 2px; user-select: none;
}

.alm-card-bd {
    padding: 14px 16px;
}

/* ------------------------------------------------------------ 日期头 */
.alm-head {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.35fr);
    gap: 0;
}

.alm-head-left {
    padding: 18px 18px 16px;
    border-right: 1px dashed var(--alm-line);
    text-align: center;
}

/* ★日期选择置于「日期头」内（原页尾日期条已移除）：
   容器去框去底色，年/月/日 三下拉居中；‹ › 为大号圆形箭头（与万年历一致） */
.alm-head-left .alm-date-bar {
    background: transparent;
    border: 0;
    border-radius: 0;
    padding: 0;
    margin: 0 0 8px;
    gap: 8px;
}

.alm-head-left .alm-date-bar .adb-select {
    min-width: 86px;
}

/* ‹ › 前后一天：大号圆形按钮（万年历 .nav-arrow 同观感） */
.alm-solar-row .adb-arrow,
.alm-head-left .adb-arrow {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    font-size: 1.2rem;
}

/* ★日期行：‹ [28] › 三件居中并排 */
.alm-solar-row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 14px;
    margin: 2px 0 4px;
}

.alm-solar-day {
    font-family: "Songti SC", STSong, SimSun, serif;
    font-size: 3.4rem;
    line-height: 1;
    font-weight: 700;
    color: var(--alm-red);
}

.alm-solar-md {
    margin-top: 6px;
    font-size: .9rem;
    color: var(--alm-ink-2);
    letter-spacing: 1px;
}

.alm-weekday {
    margin-top: 4px;
    font-size: .82rem;
    color: var(--alm-ink-3);
}

.alm-lunar-big {
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px dashed var(--alm-line);
}

.alm-lunar-big .lb-main {
    font-family: "Songti SC", STSong, SimSun, serif;
    font-size: 1.5rem;
    font-weight: 700;
    color: var(--alm-ink);
    letter-spacing: 2px;
}

.alm-lunar-big .lb-sub {
    margin-top: 5px;
    font-size: .8rem;
    color: var(--alm-ink-3);
}

.alm-head-right {
    padding: 16px 18px;
}

/* 四柱（干支）四宫格 */
.alm-gz {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
}

.alm-gz-item {
    border: 1px solid var(--alm-line);
    border-radius: 4px;
    background: #fffef9;
    padding: 8px 4px;
    text-align: center;
}

.alm-gz-item .gz-label {
    font-size: .72rem;
    color: var(--alm-ink-3);
    letter-spacing: 1px;
}

.alm-gz-item .gz-val {
    margin-top: 4px;
    font-family: "Songti SC", STSong, SimSun, serif;
    font-size: 1.22rem;
    font-weight: 700;
    color: var(--alm-ink);
    letter-spacing: 2px;
}

.alm-gz-item .gz-sub {
    margin-top: 2px;
    font-size: .68rem;
    color: var(--alm-ink-3);
}

/* 节气 / 建除值神 / 星宿 一行速览 */
.alm-quick {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 10px;
}

.alm-quick-item {
    border: 1px solid var(--alm-line-soft);
    border-radius: 4px;
    padding: 7px 10px;
    background: #fffef9;
    display: flex;
    align-items: baseline;
    gap: 6px;
    min-width: 0;
}

.alm-quick-item .qk {
    flex: none;
    font-size: .74rem;
    color: var(--alm-ink-3);
}

.alm-quick-item .qv {
    font-size: .84rem;
    font-weight: 700;
    color: var(--alm-ink);
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.alm-quick-item .qv.gold {
    color: var(--alm-red);
}

/* ------------------------------------------------------------ 宜 / 忌（主体） */
.alm-yiji {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    border-top: 1px solid var(--alm-line-soft);
}

.alm-yiji-col {
    padding: 14px 16px 16px;
    min-width: 0;
}

.alm-yiji-col + .alm-yiji-col {
    border-left: 1px dashed var(--alm-line);
}

/* 圆形朱印式标题 */
.alm-seal {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 10px;
}

.alm-seal-badge {
    flex: none;
    width: 38px;
    height: 38px;
    border-radius: 4px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-family: "Songti SC", STSong, SimSun, serif;
    font-size: 1.3rem;
    font-weight: 700;
    color: #fff;
    letter-spacing: 0;
}

.alm-seal.yi .alm-seal-badge {
    background: var(--alm-red);
    box-shadow: 0 2px 6px rgba(180, 50, 44, .28);
}

.alm-seal.ji .alm-seal-badge {
    background: var(--alm-ink);
    box-shadow: 0 2px 6px rgba(51, 48, 43, .25);
}

.alm-seal-txt {
    min-width: 0;
}

.alm-seal-txt .st-main {
    font-size: .98rem;
    font-weight: 700;
    color: var(--alm-ink);
    font-family: "Songti SC", STSong, SimSun, serif;
    letter-spacing: 1px;
}

.alm-seal-txt .st-sub {
    font-size: .72rem;
    color: var(--alm-ink-3);
    margin-top: 2px;
}

/* 宜忌词条 */
.alm-yj-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 8px;
    min-height: 44px;
}

.alm-yj-list .yj-item {
    display: inline-block;
    padding: 3px 10px;
    border-radius: 3px;
    font-size: .84rem;
    line-height: 1.55;
    white-space: nowrap;
}

.alm-yj-list.yi .yj-item {
    background: var(--alm-red-soft);
    color: #9c2a24;
    border: 1px solid #f0cfc9;
}

.alm-yj-list.ji .yj-item {
    background: #f2f0ec;
    color: #4a453d;
    border: 1px solid #e2ddd3;
}

.alm-yj-list .yj-empty {
    font-size: .82rem;
    color: var(--alm-ink-3);
}

/* 协纪原表折叠区 */
.alm-xieji {
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px dashed var(--alm-line);
    font-size: .76rem;
    color: var(--alm-ink-2);
    line-height: 1.9;
    word-break: break-all;
}

.alm-xieji .xj-label {
    color: var(--alm-ink-3);
    margin-right: 4px;
}

/* ------------------------------------------------------------ 神煞 */
.alm-gods {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
}

.alm-gods-col {
    padding: 14px 16px;
    min-width: 0;
}

.alm-gods-col + .alm-gods-col {
    border-left: 1px dashed var(--alm-line);
}

.alm-gods-title {
    font-size: .84rem;
    font-weight: 700;
    margin-bottom: 8px;
    font-family: "Songti SC", STSong, SimSun, serif;
    letter-spacing: 1px;
}

.alm-gods-title.good {
    color: var(--alm-red);
}

.alm-gods-title.bad {
    color: #3f3a33;
}

.alm-gods-title.good::before {
    content: "◇ ";
}

.alm-gods-title.bad::before {
    content: "◆ ";
}

.alm-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 5px 6px;
}

.alm-tags .tag {
    font-size: .76rem;
    padding: 2px 8px;
    border-radius: 2px;
    white-space: nowrap;
    border: 1px solid transparent;
}

.alm-tags.good .tag {
    color: #9c2a24;
    background: #fdf3f1;
    border-color: #f0d6d1;
}

.alm-tags.bad .tag {
    color: #46413a;
    background: #f4f2ee;
    border-color: #e4dfd6;
}

.alm-tags.bad .tag.folk {
    color: #8a5a20;
    background: #fdf6e8;
    border-color: #eddfc2;
}

/* ============================================================
   神煞「可用性分级」着色（★2026-09-30）
   不可用 = 一定不可用（红）｜慎用 = 可权用·可化解（琥珀）
   可用   = 当日得化解吉神（青绿）｜平 = 一般历注（灰）
   口径见 AlmanacGodDict；悬浮说明见 js/pages/almanac/god-tip.js
   ============================================================ */
.alm-tags .tag.god-tag {
    cursor: help;
}

.alm-tags.bad .tag.lv-unusable {
    color: #9c2a24;
    background: #fbe4e1;
    border-color: #efc4bd;
    font-weight: 600;
}

.alm-tags.bad .tag.lv-caution {
    color: #9a6a12;
    background: #fdf3df;
    border-color: #f0dfb4;
}

.alm-tags.bad .tag.lv-usable {
    color: #33684a;
    background: #e7f2ea;
    border-color: #c9e2d2;
}

.alm-tags.bad .tag.lv-neutral {
    color: #6b6154;
    background: #f4f2ee;
    border-color: #e4dfd6;
}

/* 民俗补充凶煞：左侧加一道琥珀竖标（不再单独成行，避免与主列表重复） */
.alm-tags.bad .tag.god-tag.folk {
    border-left: 3px solid var(--alm-gold);
    padding-left: 6px;
}

.alm-tags.good .tag.god-tag {
    cursor: help;
}

/* 图例 */
.alm-god-legend {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px 12px;
    margin-top: 10px;
    padding-top: 8px;
    border-top: 1px dashed var(--alm-line);
    font-size: .72rem;
    color: var(--alm-ink-3);
}

.alm-god-legend .lg {
    display: inline-flex;
    align-items: center;
    gap: 4px;
}

.alm-god-legend .dot {
    width: 9px;
    height: 9px;
    border-radius: 2px;
    border: 1px solid transparent;
    display: inline-block;
}

.alm-god-legend .dot.lv-unusable {
    background: #fbe4e1;
    border-color: #efc4bd;
}

.alm-god-legend .dot.lv-caution {
    background: #fdf3df;
    border-color: #f0dfb4;
}

.alm-god-legend .dot.lv-usable {
    background: #e7f2ea;
    border-color: #c9e2d2;
}

.alm-god-legend .dot.lv-neutral {
    background: #f4f2ee;
    border-color: #e4dfd6;
}

.alm-god-legend .lg-note {
    margin-left: auto;
    color: var(--alm-ink-3);
}

/* 神煞悬浮说明面板（挂 body、fixed，避免被卡片 overflow 裁切） */
.alm-god-tip {
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    max-width: 460px;
    min-width: 240px;
    padding: 10px 13px 11px;
    background: rgba(38, 34, 28, .97);
    color: #f7f1e6;
    font-size: .76rem;
    line-height: 1.7;
    border-radius: 7px;
    box-shadow: 0 8px 26px rgba(0, 0, 0, .3);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .12s ease;
    white-space: normal;
    word-break: break-word;
}

.alm-god-tip.on {
    opacity: 1;
    visibility: visible;
}

.alm-god-tip .gt-hd {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
    padding-bottom: 6px;
    margin-bottom: 6px;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
}

.alm-god-tip .gt-hd b {
    font-size: .86rem;
    letter-spacing: 1px;
    color: #fdf0dc;
}

.alm-god-tip .gt-kind {
    font-style: normal;
    font-size: .68rem;
    color: #d9c9a8;
    background: rgba(255, 255, 255, .1);
    padding: 1px 6px;
    border-radius: 3px;
}

.alm-god-tip .gt-lv {
    font-size: .68rem;
    padding: 1px 7px;
    border-radius: 3px;
    margin-left: auto;
    color: #26221c;
    font-weight: 700;
}

.alm-god-tip .gt-lv.lv-unusable {
    background: #f0a79f;
}

.alm-god-tip .gt-lv.lv-caution {
    background: #eccb87;
}

.alm-god-tip .gt-lv.lv-usable {
    background: #a8d4bb;
}

.alm-god-tip .gt-lv.lv-neutral {
    background: #cfc9bf;
}

.alm-god-tip .gt-row {
    display: flex;
    gap: 6px;
    margin-top: 3px;
}

.alm-god-tip .gt-k {
    flex: 0 0 34px;
    color: #d9c9a8;
    text-align: justify;
    text-align-last: justify;
}

.alm-god-tip .gt-v {
    flex: 1 1 auto;
    min-width: 0;
}

.alm-god-tip .gt-marry .gt-v {
    color: #f4d9a6;
    font-weight: 600;
}

/* ★「等级：涉及事项」行（如「慎用：嫁娶、竖造、出行 等」／吉神「可用：祈福、开光」）
   标签即等级并按等级着色，值＝涉及事项列表 */
.alm-god-tip .gt-ev .gt-k {
    color: #cfc9bf;
    font-weight: 700;
}

.alm-god-tip .gt-ev.lv-unusable .gt-k {
    color: #f0a79f;
}

.alm-god-tip .gt-ev.lv-caution .gt-k {
    color: #eccb87;
}

.alm-god-tip .gt-ev.lv-usable .gt-k {
    color: #a8d4bb;
}

.alm-god-tip .gt-ev .gt-v {
    color: #f7f1e6;
    font-weight: 600;
}

.alm-god-tip .gt-remedy .gt-v {
    color: #bfe2cd;
}

/* ------------------------------------------------------------ 细目（田字格） */
.alm-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 20px;
}

.alm-detail-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    padding: 7px 0;
    border-bottom: 1px dashed var(--alm-line-soft);
    font-size: .84rem;
    min-width: 0;
}

.alm-detail-row .dk {
    flex: none;
    width: 76px;
    color: var(--alm-ink-3);
    font-size: .78rem;
}

.alm-detail-row .dv {
    color: var(--alm-ink);
    min-width: 0;
    word-break: break-all;
}

.alm-detail-row .dv.strong {
    font-weight: 700;
    color: var(--alm-red);
}

.alm-detail-row .dv.muted {
    color: var(--alm-ink-3);
}

/* 彭祖百忌：两行并排 */
.alm-pengzu {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.alm-pengzu .pz-item {
    border: 1px dashed var(--alm-line);
    border-radius: 4px;
    padding: 7px 10px;
    font-size: .82rem;
    color: var(--alm-ink);
    background: #fffef9;
    text-align: center;
}

/* 星宿吉凶歌 */
.alm-xiu-song {
    margin-top: 10px;
    padding: 9px 12px;
    border-left: 3px solid var(--alm-gold);
    background: #fdfaf0;
    border-radius: 0 4px 4px 0;
    font-size: .8rem;
    color: var(--alm-ink-2);
    line-height: 1.85;
}

/* 大凶日提示 */
.alm-alert {
    margin-bottom: 12px;
    padding: 9px 12px;
    border: 1px solid #eccfc9;
    background: #fdf3f1;
    border-radius: 4px;
    font-size: .82rem;
    color: #9c2a24;
    line-height: 1.7;
}

.alm-alert .al-title {
    font-weight: 700;
    margin-right: 6px;
}

/* ------------------------------------------------------------ 时辰表 */
.alm-hours-table {
    width: 100%;
    border-collapse: collapse;
    font-size: .8rem;
}

.alm-hours-table th {
    background: #faf4e6;
    color: var(--alm-ink-2);
    font-weight: 700;
    padding: 8px 6px;
    border: 1px solid var(--alm-line-soft);
    white-space: nowrap;
    font-size: .78rem;
}

.alm-hours-table td {
    padding: 7px 6px;
    border: 1px solid var(--alm-line-soft);
    text-align: center;
    color: var(--alm-ink);
    white-space: nowrap;
}

.alm-hours-table tr.is-gold td {
    background: #fdf8f0;
}

.alm-hours-table td.hz {
    font-family: "Songti SC", STSong, SimSun, serif;
    font-weight: 700;
    letter-spacing: 1px;
}

.alm-hours-table .mark-good {
    color: var(--alm-red);
    font-weight: 700;
}

.alm-hours-table .mark-bad {
    color: #9a8f7d;
}

/* ------------------------------------------------------------ 附录（乌兔 / 到山 / 宜山） */
.alm-extra {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 20px;
}

/* ------------------------------------------------------------ 可用事项 · 择日入口 */
.alm-scenes {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.alm-scenes .scene-chip {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    padding: 4px 11px;
    border: 1px solid var(--alm-line);
    border-radius: 14px;
    background: #fffdf7;
    font-size: .8rem;
    color: var(--alm-ink);
    text-decoration: none;
    transition: all .15s;
}

.alm-scenes .scene-chip:hover {
    border-color: var(--alm-red);
    color: var(--alm-red);
    background: #fdf3f1;
}

/* ------------------------------------------------------------ 日期快速导航 */
/* ★与万年历首页 .date-quick-nav 同款：胶囊状 dd日、上下分隔线、今天红底 */
.alm-nav {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 8px 12px;
    margin: 12px 0 8px;
    padding: 10px 0;
    border-top: 1px solid var(--alm-line);
    border-bottom: 1px solid var(--alm-line);
}

.alm-nav a {
    display: inline-block;
    padding: 4px 14px;
    border-radius: 30px;
    background: #fff;
    border: 1px solid var(--alm-line);
    font-size: .85rem;
    color: var(--alm-ink-2);
    text-decoration: none;
    transition: border-color .2s, color .2s, background .2s;
}

.alm-nav a:hover {
    border-color: var(--alm-red);
    color: var(--alm-red);
}

.alm-nav a.today {
    background: var(--alm-red);
    border-color: var(--alm-red);
    color: #fff;
    font-weight: 700;
}

/* 当前正在查看的那一天：金色描边（非今天时用于定位） */
.alm-nav a.is-sel {
    border-color: var(--alm-gold);
    box-shadow: inset 0 0 0 1px var(--alm-gold);
    color: var(--alm-red);
    font-weight: 700;
}

.alm-nav a.is-sel.today {
    color: #fff;
}

/* ------------------------------------------------------------ 搜索吉日（首页头部工具条） */
.alm-searchbar {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.alm-searchbar select {
    height: 32px;
    min-width: 128px;
    padding: 0 8px;
    border: 1px solid var(--alm-line);
    border-radius: 4px;
    background: #fffef9;
    color: var(--alm-ink);
    font-size: .82rem;
}

.alm-searchbar .alm-btn {
    height: 32px;
    padding: 0 16px;
    border: none;
    border-radius: 4px;
    background: var(--alm-red);
    color: #fff;
    font-size: .82rem;
    font-weight: 700;
    cursor: pointer;
    letter-spacing: 1px;
}

.alm-searchbar .alm-btn:hover {
    background: #9c2a24;
}

.alm-searchbar .alm-btn.ghost {
    background: #fffdf7;
    color: var(--alm-ink-2);
    border: 1px solid var(--alm-line);
}

.alm-searchbar .alm-btn.ghost:hover {
    border-color: var(--alm-red);
    color: var(--alm-red);
}

/* ------------------------------------------------------------ 通用按钮（★全站老黄历模块可用：
   原先仅定义在 .alm-searchbar 作用域内，导致择日页「开始检索」按钮无样式） */
.alm-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    padding: 0 18px;
    border: none;
    border-radius: 4px;
    background: var(--alm-red);
    color: #fff;
    font-size: .84rem;
    font-weight: 700;
    font-family: inherit;
    letter-spacing: 1px;
    line-height: 1;
    cursor: pointer;
    text-decoration: none;
    white-space: nowrap;
    transition: background .12s, color .12s, border-color .12s;
}

.alm-btn:hover {
    background: #9c2a24;
    color: #fff;
}

.alm-btn.ghost {
    background: #fffdf7;
    color: var(--alm-ink-2);
    border: 1px solid var(--alm-line);
}

.alm-btn.ghost:hover {
    background: #fffdf7;
    border-color: var(--alm-red);
    color: var(--alm-red);
}

/* ------------------------------------------------------------ 择日页：表单 */
/* ★表单单列纵向排列：每行一个 .alm-form-row（行内字段横向平分、不换行） */
.alm-form {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.alm-form-row {
    display: flex;
    align-items: center;
    gap: 14px;
    flex-wrap: nowrap;
    min-width: 0;
}

.alm-form-row > .alm-field {
    flex: 1 1 0;
    min-width: 0;
}

/* 日期行：两个字段平分（每边含 年/月/日 三下拉） */
.alm-form-row-date > .alm-field {
    flex: 1 1 0;
}

/* ★label + 输入/下拉 单行不换行 */
.alm-field {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    white-space: nowrap;
}

.alm-field label {
    flex: none;
    font-size: .78rem;
    color: var(--alm-ink-2);
    white-space: nowrap;
}

.alm-field > select,
.alm-field > input {
    flex: 1 1 auto;
    min-width: 0;
    height: 34px;
    padding: 0 9px;
    border: 1px solid var(--alm-line);
    border-radius: 4px;
    background: #fffef9;
    color: var(--alm-ink);
    font-size: .84rem;
    width: 100%;
    box-sizing: border-box;
}

/* ★开始/结束日期：年 / 月 / 日 三下拉并排（整组占满一行内余宽） */
.alm-field .alm-date3 {
    flex: 1 1 auto;
    min-width: 0;
    display: flex;
    align-items: center;
    gap: 5px;
    white-space: nowrap;
}

.alm-field .alm-date3 select {
    flex: 1 1 0;
    min-width: 0;
    height: 34px;
    padding: 0 6px;
    border: 1px solid var(--alm-line);
    border-radius: 4px;
    background: #fffef9;
    color: var(--alm-ink);
    font-size: .82rem;
    box-sizing: border-box;
}

.alm-field input:focus,
.alm-field select:focus {
    outline: none;
    border-color: var(--alm-red);
    box-shadow: 0 0 0 2px rgba(180, 50, 44, .1);
}

.alm-form-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    padding-top: 4px;
}

.alm-hint {
    padding: 10px 14px;
    border: 1px dashed var(--alm-line);
    border-radius: 4px;
    background: #fffef9;
    color: var(--alm-ink-3);
    font-size: .83rem;
    line-height: 1.8;
}

.alm-hint.err {
    border-color: #eccfc9;
    background: #fdf3f1;
    color: #9c2a24;
}

/* ------------------------------------------------------------ 择日页：结果列表 */
.alm-result-list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.alm-result {
    border: 1px solid var(--alm-line);
    border-radius: 5px;
    background: #fffef9;
    overflow: hidden;
}

.alm-result-hd {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    padding: 9px 14px;
    background: linear-gradient(180deg, #fffdf7, #faf4e6);
    border-bottom: 1px solid var(--alm-line-soft);
}

.alm-result-hd .rd-date {
    font-family: "Songti SC", STSong, SimSun, serif;
    font-size: 1rem;
    font-weight: 700;
    color: var(--alm-red);
}

.alm-result-hd .rd-meta {
    font-size: .8rem;
    color: var(--alm-ink-2);
}

.alm-result-hd .rd-meta b {
    color: var(--alm-ink);
}

.alm-result-bd {
    padding: 10px 14px;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 6px 20px;
    font-size: .82rem;
}

.alm-result-bd .rb-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    min-width: 0;
}

.alm-result-bd .rb-row .k {
    flex: none;
    width: 62px;
    color: var(--alm-ink-3);
    font-size: .78rem;
}

.alm-result-bd .rb-row .v {
    flex: 1;
    min-width: 0;
    color: var(--alm-ink);
    word-break: break-all;
}

.alm-result-bd .rb-row .v.hi {
    color: var(--alm-red);
    font-weight: 700;
}

/* ★慎用提示（月破 · 受死 等已降级为「慎用」的神煞，2026-09-30） */
.alm-result-bd .rb-row .v.warn {
    color: #9a6a12;
    background: #fdf3df;
    border: 1px solid #f0dfb4;
    border-radius: 3px;
    padding: 1px 7px;
}

/* ------------------------------------------------------------ 响应式 */
/* 十二时辰表 9 列（min-width ≈1166px）：视口不足时改为卡内横向滚动，避免撑破页面 */
@media (max-width: 1220px) {
    .alm-hours-table {
        display: block;
        overflow-x: auto;
    }
}

@media (max-width: 900px) {
    .alm-head {
        grid-template-columns: minmax(0, 1fr);
    }

    .alm-head-left {
        border-right: none;
        border-bottom: 1px dashed var(--alm-line);
    }

    .alm-form-row {
        flex-wrap: wrap;
    }

    .alm-form-row > .alm-field {
        flex: 1 1 46%;
    }

    .alm-result-bd {
        grid-template-columns: minmax(0, 1fr);
    }
}

@media (max-width: 680px) {
    .alm-yiji {
        grid-template-columns: minmax(0, 1fr);
    }
    .alm-yiji-col + .alm-yiji-col {
        border-left: none;
        border-top: 1px dashed var(--alm-line);
    }

    .alm-gods {
        grid-template-columns: minmax(0, 1fr);
    }

    .alm-gods-col + .alm-gods-col {
        border-left: none;
        border-top: 1px dashed var(--alm-line);
    }

    .alm-detail-grid,
    .alm-extra,
    .alm-pengzu {
        grid-template-columns: minmax(0, 1fr);
    }

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

    .alm-hours-table {
        display: block;
        overflow-x: auto;
    }

    .alm-solar-day {
        font-size: 2.8rem;
    }
}

@media (max-width: 480px) {
    .alm-form-row > .alm-field {
        flex: 1 1 100%;
    }

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

/* ------------------------------------------------------------ 用事宜日 · 事项详情（按类分组 · 多列并排卡片）
   分组（婚嫁 / 造葬门派 / 文教 / 工商 / 其他），每组 CSS Grid 多列并排；
   每张卡片独立表头与紧凑明细表，列宽统一对齐；门派行卡片以浅朱带区分。 */
/* ★间距统一（用户 2026-09-28）：组间 18px、卡间 12px、卡头/表体/说明内边距一致 */
.alm-ev-groups {
    display: flex;
    flex-direction: column;
    gap: 18px;
}

.alm-ev-group-hd {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 10px;
}

.alm-ev-group-hd .gg-no {
    flex: none;
    min-width: 20px;
    height: 20px;
    padding: 0 5px;
    border-radius: 3px;
    background: var(--alm-red);
    color: #fff;
    font-size: .72rem;
    font-weight: 700;
    text-align: center;
    line-height: 20px;
}

.alm-ev-group-hd .gg-title {
    font-family: "Songti SC", STSong, SimSun, serif;
    font-size: .98rem;
    font-weight: 700;
    letter-spacing: 1px;
    color: var(--alm-ink);
}

.alm-ev-group-hd .gg-sub {
    font-size: .74rem;
    color: var(--alm-ink-3);
}

.alm-ev-grid {
    display: grid;
    grid-template-columns: repeat(var(--ev-cols, 4), minmax(0, 1fr));
    gap: 12px;
}

.alm-ev-card {
    border: 1px solid var(--alm-line-soft);
    border-radius: 6px;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 1px 2px rgba(140, 90, 40, .04);
    display: flex;
    flex-direction: column;
}

.alm-ev-card.ev-menpai {
    border-color: #e7cfc8;
}

.alm-ev-card.full {
    grid-column: 1 / -1;
}

.alm-ev-card-hd {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 4px 6px;
    padding: 6px 10px;
    background: #faf4e6;
    border-bottom: 1px solid var(--alm-line-soft);
}

.alm-ev-card.ev-menpai .alm-ev-card-hd {
    background: #fdf6f4;
}

.alm-ev-card.ev-bad .alm-ev-card-hd {
    background: #f6efec;
}

.alm-ev-card-hd .ce-ev {
    flex: none;
    font-size: .9rem;
    font-weight: 700;
    color: #1f5c1f;
}

.alm-ev-card.ev-menpai .alm-ev-card-hd .ce-ev {
    color: var(--alm-red);
}

.alm-ev-card.ev-bad .alm-ev-card-hd .ce-ev {
    color: #8a7f6e;
}

/* 「非吉日」标记 */
.alm-ev-card-hd .ce-flag {
    flex: none;
    padding: 0 6px;
    border-radius: 3px;
    background: #efe3da;
    border: 1px solid #e2d2c5;
    color: #8a6a4a;
    font-size: .68rem;
    line-height: 16px;
}

/* 吉方说明：独占一行的长文本，自动折行，避免单行溢出 */
.alm-ev-card-hd .ce-fx {
    flex: 1 1 100%;
    margin-left: 0;
    font-size: .72rem;
    color: #5c4a2a;
    text-align: left;
    white-space: normal;
    word-break: break-word;
    line-height: 1.6;
}

/* 非吉事项：本日不宜 + 原因（与卡头同左右内边距） */
.alm-ev-blocked {
    padding: 10px;
    background: #fffefb;
}

.alm-ev-blocked .blk-t {
    font-size: .84rem;
    font-weight: 700;
    color: #8a6a4a;
    margin-bottom: 4px;
}

.alm-ev-blocked .blk-r {
    font-size: .76rem;
    color: var(--alm-ink-2);
    line-height: 1.75;
    word-break: break-word;
}

/* 卡片内紧凑明细表（★竖排两列：名称列自动加宽、吉时列固定，每条一行不挤压） */
.alm-ev-card .alm-ev-table {
    font-size: .76rem;
}

/* ★「具体值」列（年命/坐山/分金 的值，如「丑（牛·小凶可化解·犯胎元）」）——自适应内容宽 */
.alm-ev-card .alm-ev-table col.c-val {
    width: auto;
}

/* ★「吉时」列——固定宽（芯片 4 列网格足够），剩余宽度让给名称列 */
.alm-ev-card .alm-ev-table col.c-hour {
    width: 118px;
}

.alm-ev-card .alm-ev-table td {
    padding: 4px 6px;
}

.alm-ev-card .alm-ev-table th {
    padding: 4px 6px;
}

/* ★整行不换行：具体值 / 吉时 两格均单行不折（芯片网格内自行排 4 列） */
.alm-ev-card .alm-ev-table th,
.alm-ev-card .alm-ev-table td,
.alm-ev-card .alm-ev-table .c-hour {
    white-space: nowrap;
}

.alm-ev-none {
    padding: 14px 10px;
    color: var(--alm-ink-3);
    font-size: .8rem;
    text-align: center;
    background: #fffef9;
}

/* 窄屏：分组网格降列，避免卡片过窄 */
@media (max-width: 900px) {
    .alm-ev-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 520px) {
    .alm-ev-grid {
        grid-template-columns: minmax(0, 1fr);
    }

    .alm-ev-card.full {
        grid-column: auto;
    }
}

/* 表体：固定列宽 → 各表之间对齐 */
.alm-ev-table {
    width: 100%;
    border-collapse: collapse;
    table-layout: fixed;
    font-size: .8rem;
    color: var(--alm-ink);
}

.alm-ev-table col.c-val {
    width: 76px;
}

.alm-ev-table col.c-hour {
    width: auto;
}

.alm-ev-table th {
    background: #f3ead6;
    color: var(--alm-ink-2);
    font-weight: 700;
    text-align: left;
    padding: 4px 9px;
    font-size: .76rem;
    border-bottom: 1px solid var(--alm-line-soft);
}

.alm-ev-table td {
    padding: 4px 9px;
    border-bottom: 1px solid #f1e9d6;
    line-height: 1.5;
    vertical-align: top;
    word-break: break-word;
}

.alm-ev-table tbody tr:last-child td {
    border-bottom: none;
}

/* ★「具体值」列（年命 / 坐山 / 分金 的值）：正常墨色加重，列头已表明其类型 */
.alm-ev-table .c-val {
    color: var(--alm-ink);
    white-space: nowrap;
}

.alm-ev-table .c-hour {
    color: #1f5c1f;
    white-space: nowrap;
}

.alm-ev-table .nm-main {
    font-weight: 600;
    color: var(--alm-ink);
}

/* ★名称列内联括注（如「（牛·小凶可化解·犯胎元）」）：跟随名称同行显示，浅墨小字 */
.alm-ev-table .nm-sub {
    font-weight: 400;
    color: var(--alm-ink-2);
    font-size: .92em;
}

/* ★兜底行（无结构化明细的长文本）：允许折行，避免撑破表格 */
.alm-ev-card .alm-ev-table tr.fallback td {
    white-space: normal;
}

.alm-ev-table td.mark-none {
    color: var(--alm-ink-3);
}

/* ------------------------------------------------------------ 时辰标签 + 悬浮提示
   悬浮「时辰」标签即显示该时辰的备注（星神/时冲/煞方/时宜/时忌）与化解内容。
   提示层挂 body、position:fixed —— 卡片 overflow:hidden，置于卡内会被裁切。 */
.alm-ev-card .c-hour .hz-chip {
    display: inline-block;
    min-width: 14px;
    margin: 0 1px 0 0;
    padding: 0 2px;
    border-radius: 3px;
    background: #eaf3e6;
    border: 1px solid #d3e6cc;
    color: #1f5c1f;
    font-weight: 700;
    font-size: .9em;
    line-height: 1.6;
    text-align: center;
    cursor: help;
    transition: background .12s, color .12s, border-color .12s;
}

.alm-ev-card .c-hour .hz-chip:hover {
    background: var(--alm-red);
    border-color: var(--alm-red);
    color: #fff;
}

/* ★时辰评分类色（大吉/吉/平/慎） */
.alm-ev-card .c-hour .hz-chip.lv-大吉 {
    background: #1f7a1f;
    border-color: #1f7a1f;
    color: #fff;
}

.alm-ev-card .c-hour .hz-chip.lv-吉 {
    background: #e3f2df;
    border-color: #bfe0b5;
    color: #1f5c1f;
}

.alm-ev-card .c-hour .hz-chip.lv-平 {
    background: #fdf3dd;
    border-color: #f0dfae;
    color: #8a6a12;
}

.alm-ev-card .c-hour .hz-chip.lv-慎 {
    background: #f6e6e4;
    border-color: #e6c3bf;
    color: #9a3b33;
}

/* ★时辰评分数字（chip 内小字）——与地支之间留 3px 间距，避免「辰85」粘连 */
.alm-ev-card .c-hour .hz-chip .hz-sc {
    font-style: normal;
    font-size: .66em;
    font-weight: 400;
    opacity: .72;
    margin-left: 3px;
}

/* ★择日结果表：同一事项的时辰按 4 列网格排布（避免单行溢出），芯片可换行 */
.alm-ev-card .alm-ev-table td.c-hour-grid {
    white-space: normal;
}

/* ★吉时芯片：4 列网格（行距 6px / 列距 12px —— 列表之间留白，避免挤成一团） */
.alm-ev-card .c-hour .hz-grid {
    display: grid;
    grid-template-columns: repeat(4, max-content);
    gap: 6px 12px;
    justify-content: start;
    align-items: center;
}

/* ------------------------------------------------------------ 择日结果明细：三列并排
   每列＝一条明细（名称含内联括注 + 吉时芯片），填满全宽卡片，避免中段大片留白 */
.alm-ev-detail {
    width: 100%;
    font-size: .78rem;
    color: var(--alm-ink);
}
.alm-ev-detail-hd {
    background: #f3ead6;
    color: var(--alm-ink-2);
    font-weight: 700;
    font-size: .76rem;
    padding: 4px 9px;
    border-bottom: 1px solid var(--alm-line-soft);
}
.alm-ev-detail-hd .hd-sep {
    font-style: normal;
    font-weight: 400;
    color: var(--alm-ink-3);
}
.alm-ev-cols3 {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    column-gap: 26px;
}
.alm-ev-cols3 .ev-entry {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 10px;
    padding: 5px 9px;
    border-bottom: 1px solid #f1e9d6;
    line-height: 1.55;
}
.alm-ev-cols3 .ev-entry .ev-nm {
    word-break: break-word;
}
.alm-ev-cols3 .ev-entry .nm-main {
    font-weight: 600;
}
.alm-ev-cols3 .ev-entry .nm-sub {
    font-size: .74rem;
    color: var(--alm-ink-3);
}
.alm-ev-cols3 .ev-entry .ev-hs {
    flex-shrink: 0;
    white-space: nowrap;
}
.alm-ev-cols3 .ev-entry .ev-hs.mark-none {
    color: var(--alm-ink-3);
}
/* 三列布局下芯片改为右对齐换行排布（不用 4 列网格，列窄） */
.alm-ev-cols3 .ev-entry .ev-hs .hz-grid {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 4px 8px;
}
/* 兜底行（无明细时整条显示 main + hours） */
.alm-ev-detail .ev-fallback {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    padding: 5px 9px;
    border-bottom: 1px solid #f1e9d6;
}

/* ★择日结果页（select.html）：结果卡为全宽表格，「具体值」列放宽，
   兜底行（如「宜山（正五行）」）不再逐字竖排折行 */
.alm-result .alm-ev-table col.c-val {
    width: 130px;
}

/* ★兜底行（无结构化明细，如门派「宜山」长文本）：不强制单行，允许折行 */
.alm-ev-card .alm-ev-table tr.fallback td {
    white-space: normal;
    word-break: break-word;
}

/* ★事项卡「说明 · 神煞与依据」（可展开；与表体同左右内边距，底部留白统一） */
.alm-ev-card .alm-ev-note {
    margin: 6px 10px 10px;
    font-size: .68rem;
    line-height: 1.5;
    color: var(--alm-ink-3);
}

.alm-ev-card .alm-ev-note > summary {
    cursor: pointer;
    color: var(--alm-red);
    font-size: .68rem;
    list-style: none;
    padding: 1px 0;
}

.alm-ev-card .alm-ev-note > summary::-webkit-details-marker {
    display: none;
}

.alm-ev-card .alm-ev-note > summary::before {
    content: "▸ ";
}

.alm-ev-card .alm-ev-note[open] > summary::before {
    content: "▾ ";
}

.alm-ev-card .alm-ev-note .en-txt {
    margin-top: 3px;
    padding: 4px 6px;
    background: #fbf7ee;
    border: 1px solid var(--alm-line);
    border-radius: 4px;
    color: var(--alm-ink-3);
    word-break: break-word;
    white-space: normal;
}

.alm-hz-tip {
    position: fixed;
    z-index: 9999;
    left: 0;
    top: 0;
    max-width: 430px;
    padding: 8px 11px;
    background: rgba(38, 34, 28, .97);
    color: #f7f1e6;
    font-size: .76rem;
    line-height: 1.75;
    border-radius: 6px;
    box-shadow: 0 6px 22px rgba(0, 0, 0, .28);
    pointer-events: none;
    opacity: 0;
    visibility: hidden;
    transition: opacity .12s ease;
    white-space: normal;
    word-break: break-word;
}

.alm-hz-tip.on {
    opacity: 1;
    visibility: visible;
}

@media (max-width: 680px) {
    .alm-ev-table {
        font-size: .76rem;
    }

    .alm-ev-table col.c-val {
        width: 60px;
    }

    .alm-ev-table col.c-hour {
        width: auto;
    }
}

/* ------------------------------------------------------------ 日期选择（年 / 月 / 日 下拉，与万年历一致）
   说明：本模块自有样式，勿复用 calendar 模块的 .date-selector（保持模块 CSS 隔离）。 */
.alm-date-bar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
    margin: 4px 0 10px;
    padding: 10px 14px;
    background: var(--alm-card);
    border: 1px solid var(--alm-line);
    border-radius: 6px;
}

.alm-date-bar .adb-label {
    font-size: .82rem;
    color: var(--alm-ink-3);
}

.alm-date-bar .adb-select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    min-width: 76px;
    padding: 5px 26px 5px 10px;
    border: 1px solid var(--alm-line);
    border-radius: 4px;
    background: #fffdf7 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%238a7a5c' stroke-width='1.4'/%3E%3C/svg%3E") no-repeat right 9px center;
    color: var(--alm-ink);
    font-size: .84rem;
    line-height: 1.4;
    cursor: pointer;
}

.alm-date-bar .adb-select:focus {
    outline: none;
    border-color: var(--alm-red);
    box-shadow: 0 0 0 2px rgba(180, 50, 44, .12);
}

.alm-date-bar .adb-go {
    display: inline-block;
    padding: 5px 14px;
    border: 1px solid var(--alm-red);
    border-radius: 4px;
    background: var(--alm-red);
    color: #fff;
    font-size: .82rem;
    line-height: 1.4;
    text-decoration: none;
    cursor: pointer;
}

.alm-date-bar .adb-go:hover {
    background: #c03a33;
}

/* ★前后一天箭头 ‹ › */
.alm-date-bar .adb-arrow {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--alm-line);
    border-radius: 4px;
    background: #fffdf7;
    color: var(--alm-ink);
    font-size: 1.05rem;
    line-height: 1;
    text-decoration: none;
    cursor: pointer;
    transition: background .12s, color .12s, border-color .12s;
}

.alm-date-bar .adb-arrow:hover {
    background: var(--alm-red);
    border-color: var(--alm-red);
    color: #fff;
}

/* ★任意日期（原生日期选择器） */
.alm-date-bar .adb-date {
    padding: 4px 8px;
    border: 1px solid var(--alm-line);
    border-radius: 4px;
    background: #fffdf7;
    color: var(--alm-ink);
    font-size: .8rem;
    line-height: 1.4;
    cursor: pointer;
}

.alm-date-bar .adb-date:focus {
    outline: none;
    border-color: var(--alm-red);
    box-shadow: 0 0 0 2px rgba(180, 50, 44, .12);
}

@media (max-width: 680px) {
    .alm-date-bar {
        gap: 6px;
        padding: 8px;
    }

    .alm-date-bar .adb-select {
        min-width: 68px;
        padding: 4px 24px 4px 8px;
        font-size: .8rem;
    }
}

/* ------------------------------------------------------------ 访问权限提示条（游客 7 / 登录 15 / 会员 20 起） */
.alm-access-bar {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px 12px;
    margin: 10px 0 12px;
    padding: 8px 14px;
    background: var(--alm-card);
    border: 1px solid var(--alm-line);
    border-left: 3px solid var(--alm-red);
    border-radius: 6px;
    font-size: .82rem;
    color: var(--alm-ink-2);
}

.alm-access-bar .ab-role {
    padding: 1px 8px;
    border-radius: 10px;
    background: var(--alm-red-soft);
    color: var(--alm-red);
    font-weight: 700;
}

.alm-access-bar .ab-until b {
    color: var(--alm-red);
}

.alm-access-bar .ab-login a {
    color: var(--alm-red);
    text-decoration: none;
}

.alm-access-bar .ab-login a:hover {
    text-decoration: underline;
}

.alm-access-warn {
    margin: 0 0 12px;
    padding: 8px 14px;
    background: #fdf6f4;
    border: 1px solid var(--alm-red-soft);
    border-radius: 6px;
    font-size: .82rem;
    color: var(--alm-red);
}

/* 明细为空 / 时辰无可用事项：统一标注「无」，不留空白 */
.alm-hours-table td.mark-none,
.nm-none {
    color: var(--alm-ink-3);
}
