/* ============================================================
 *  行查 · 前台样式
 *  设计语言沿用 RTHW TOOL 首页（https://localhost/）：
 *  浅灰底 (#f7f8fa) + 白卡片 + 细边框 + 品牌蓝 #0075de，
 *  辅以低饱和强调色与一致的 8px 圆角/12px 圆角体系。
 *
 *  目录：
 *    01 令牌 / 02 重置 / 03 顶栏 / 04 标签页 / 05 搜索区
 *    06 结果卡片 / 07 表格 / 08 折叠区 / 09 标签与徽章
 *    10 对照表 / 11 词库 / 12 法规 / 13 加载与空态 / 14 响应式
 * ============================================================ */

/* ===== 01 令牌 ===== */
:root {
    --ic-bg: #f7f8fa;
    --ic-card: #fff;
    --ic-text: #2c2c2a;
    --ic-sub: #615d59;
    --ic-mute: #8b8781;
    --ic-line: rgba(0, 0, 0, .08);
    --ic-line-strong: rgba(0, 0, 0, .16);
    --ic-pri: #0075de;
    --ic-pri-dark: #0064bf;
    --ic-pri-soft: #eaf3fd;
    --ic-green: #17795e;
    --ic-green-soft: #e6f4ee;
    --ic-amber: #b26a00;
    --ic-amber-soft: #fdf3e2;
    --ic-red: #c92a2a;
    --ic-red-soft: #ffeaea;
    --ic-violet: #5f4bd6;
    --ic-violet-soft: #efecfd;
    --ic-r-sm: 8px;
    --ic-r: 12px;
    --ic-r-lg: 16px;
    --ic-sh: 0 1px 3px rgba(20, 20, 20, .06), 0 8px 24px rgba(20, 20, 20, .05);
    --ic-max: 1180px;
    --ic-nav-h: 60px;
}

/* ===== 02 重置 ===== */
*, *::before, *::after { box-sizing: border-box; }
body.ic-body {
    margin: 0;
    background: var(--ic-bg);
    color: var(--ic-text);
    font: 14px/1.7 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', -apple-system, BlinkMacSystemFont, sans-serif;
    -webkit-font-smoothing: antialiased;
    letter-spacing: .01em;
}
a { color: inherit; text-decoration: none; }
button, input, textarea, select { font: inherit; color: inherit; }
.ic-wrap { max-width: var(--ic-max); margin: 0 auto; padding: 0 20px; }

/* ===== 03 顶栏 ===== */
.ic-top {
    position: sticky; top: 0; z-index: 100;
    background: rgba(255, 255, 255, .92);
    backdrop-filter: saturate(180%) blur(12px);
    border-bottom: 1px solid var(--ic-line);
}
.ic-top-in { display: flex; align-items: center; gap: 20px; height: var(--ic-nav-h); }
.ic-brand { display: flex; align-items: center; gap: 10px; font-weight: 700; font-size: 17px; letter-spacing: .06em; white-space: nowrap; }
.ic-brand i {
    width: 30px; height: 30px; border-radius: 9px; display: grid; place-items: center;
    background: var(--ic-pri); color: #fff; font-style: normal; font-size: 15px; font-weight: 700;
}
.ic-brand small { font-weight: 500; font-size: 12px; color: var(--ic-mute); letter-spacing: 0; }
.ic-nav { display: flex; gap: 2px; margin-left: auto; }
.ic-nav a {
    padding: 7px 14px; border-radius: 999px; font-size: 14px; color: var(--ic-sub);
    transition: background .15s, color .15s; white-space: nowrap;
}
.ic-nav a:hover { background: #f0efec; color: var(--ic-text); }
.ic-nav a.on { background: var(--ic-pri-soft); color: var(--ic-pri); font-weight: 600; }
.ic-btn {
    display: inline-flex; align-items: center; gap: 6px; border: 1px solid var(--ic-line-strong);
    background: #fff; color: var(--ic-text); border-radius: var(--ic-r-sm); padding: 7px 14px;
    cursor: pointer; font-size: 13px; transition: all .15s;
}
.ic-btn:hover { border-color: var(--ic-pri); color: var(--ic-pri); }
.ic-btn.pri { background: var(--ic-pri); border-color: var(--ic-pri); color: #fff; }
.ic-btn.pri:hover { background: var(--ic-pri-dark); border-color: var(--ic-pri-dark); color: #fff; }

/* ===== 04 标签页 ===== */
.ic-tab { display: none; padding: 26px 0 60px; }
.ic-tab.on { display: block; }

/* ===== 05 搜索区 ===== */
.ic-hero { text-align: center; padding: 34px 0 10px; }
.ic-hero h1 { font-size: 30px; margin: 0 0 8px; letter-spacing: .08em; }
.ic-hero p { margin: 0 0 22px; color: var(--ic-sub); }
.ic-search { position: relative; max-width: 660px; margin: 0 auto; }
.ic-search-box {
    display: flex; align-items: center; background: #fff; border: 1px solid var(--ic-line-strong);
    border-radius: 999px; padding: 6px 6px 6px 20px; box-shadow: var(--ic-sh); transition: border-color .15s;
}
.ic-search-box:focus-within { border-color: var(--ic-pri); }
.ic-search-box input { flex: 1; border: 0; outline: 0; background: transparent; font-size: 15px; padding: 8px 0; }
.ic-search-box button {
    border: 0; background: var(--ic-pri); color: #fff; border-radius: 999px;
    padding: 9px 26px; cursor: pointer; font-size: 14px; transition: background .15s;
}
.ic-search-box button:hover { background: var(--ic-pri-dark); }
.ic-suggest {
    position: absolute; left: 20px; right: 6px; top: calc(100% + 6px); background: #fff; z-index: 30;
    border: 1px solid var(--ic-line); border-radius: var(--ic-r); box-shadow: var(--ic-sh); text-align: left;
    overflow: hidden; display: none;
}
.ic-suggest.on { display: block; }
.ic-suggest div { padding: 9px 14px; cursor: pointer; font-size: 14px; border-bottom: 1px solid #f2f1ef; }
.ic-suggest div:last-child { border-bottom: 0; }
.ic-suggest div:hover, .ic-suggest div.cur { background: var(--ic-pri-soft); }
.ic-suggest em { font-style: normal; color: var(--ic-mute); font-size: 12px; margin-left: 8px; }
.ic-hot { margin: 18px auto 0; max-width: 760px; display: flex; flex-wrap: wrap; gap: 8px; justify-content: center; }
.ic-hot b { width: 100%; color: var(--ic-mute); font-size: 12px; font-weight: 500; margin-bottom: 2px; }

/* ===== 06 结果卡片 ===== */
.ic-card {
    background: var(--ic-card); border: 1px solid var(--ic-line); border-radius: var(--ic-r-lg);
    box-shadow: var(--ic-sh); padding: 22px 24px; margin-top: 18px;
}
.ic-res-head { display: flex; align-items: flex-start; gap: 12px; flex-wrap: wrap; }
.ic-res-head h2 { margin: 0; font-size: 22px; letter-spacing: .04em; }
.ic-res-sub { color: var(--ic-sub); font-size: 13px; margin-top: 4px; }
.ic-crumb { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.ic-crumb span {
    background: #f5f4f1; border-radius: var(--ic-r-sm); padding: 5px 11px; font-size: 13px; color: #4a4743;
}
.ic-crumb span i { font-style: normal; color: var(--ic-mute); margin-right: 6px; font-size: 12px; }
.ic-crumb span em { font-style: normal; color: var(--ic-pri); font-weight: 600; }
.ic-note {
    border-left: 3px solid var(--ic-amber); background: var(--ic-amber-soft); color: #6b4300;
    padding: 12px 16px; border-radius: 0 var(--ic-r-sm) var(--ic-r-sm) 0; margin-top: 16px; font-size: 13px; line-height: 1.75;
}
.ic-note.info { border-color: var(--ic-pri); background: var(--ic-pri-soft); color: #134a77; }
.ic-note.ok { border-color: var(--ic-green); background: var(--ic-green-soft); color: #12563f; }
.ic-note b { display: block; margin-bottom: 4px; }
.ic-note p { margin: 0 0 6px; }
.ic-note p:last-child { margin-bottom: 0; }

/* ===== 07 表格 ===== */
.ic-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.ic-table th, .ic-table td { border: 1px solid var(--ic-line); padding: 9px 12px; text-align: left; vertical-align: top; }
.ic-table th { background: #f6f5f3; font-weight: 600; color: #45423f; white-space: nowrap; }
.ic-table tbody tr:nth-child(even) td { background: #fbfbfa; }
.ic-table td p { margin: 0 0 4px; }
.ic-table td p:last-child { margin: 0; }
.ic-tbl-scroll { overflow-x: auto; margin-top: 6px; }
.ic-tree dl { margin: 0; }
.ic-tree dt { font-weight: 600; font-size: 13px; margin-top: 10px; color: #45423f; }
.ic-tree dd { margin: 2px 0 0; font-size: 13px; color: var(--ic-sub); }

/* ===== 08 折叠区 ===== */
.ic-sec { border: 1px solid var(--ic-line); border-radius: var(--ic-r); margin-top: 14px; overflow: hidden; background: #fff; }
.ic-sec > summary {
    cursor: pointer; list-style: none; padding: 13px 18px; font-weight: 600; font-size: 14px;
    display: flex; align-items: center; gap: 10px; user-select: none; background: #fcfcfb;
}
.ic-sec > summary::-webkit-details-marker { display: none; }
.ic-sec > summary::after { content: '+'; margin-left: auto; color: var(--ic-mute); font-weight: 400; font-size: 17px; }
.ic-sec[open] > summary::after { content: '–'; }
.ic-sec > summary:hover { background: var(--ic-pri-soft); }
.ic-sec > summary i.ic-num {
    font-style: normal; background: var(--ic-pri-soft); color: var(--ic-pri); border-radius: 6px;
    font-size: 12px; padding: 2px 7px; min-width: 24px; text-align: center;
}
.ic-sec-body { padding: 4px 18px 18px; }

/* ===== 09 标签与徽章 ===== */
.ic-chip {
    display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 3px 11px;
    font-size: 12px; background: #f2f1ee; color: #55524e; border: 1px solid transparent; cursor: default;
}
.ic-chip.pri { background: var(--ic-pri-soft); color: var(--ic-pri); }
.ic-chip.ok { background: var(--ic-green-soft); color: var(--ic-green); }
.ic-chip.warn { background: var(--ic-amber-soft); color: var(--ic-amber); }
.ic-chip.violet { background: var(--ic-violet-soft); color: var(--ic-violet); }
.ic-chip.red { background: var(--ic-red-soft); color: var(--ic-red); }
.ic-chip.click { cursor: pointer; }
.ic-chip.click:hover { border-color: var(--ic-pri); }
.ic-lawchip {
    display: inline-flex; align-items: center; gap: 6px; background: #f6f8fb; border: 1px solid #e4eaf3;
    border-radius: 6px; padding: 3px 9px; font-size: 12px; margin: 0 6px 6px 0; color: #37414d; cursor: default;
}
.ic-lawchip i.ic-lawver { font-style: normal; color: var(--ic-pri); font-size: 11px; }
.ic-lawchip.is-warn { border-color: #fbcfcf; background: var(--ic-red-soft); }
.ic-lawchip em.ic-lawwarn {
    font-style: normal; background: var(--ic-red); color: #fff; border-radius: 4px; padding: 1px 5px; font-size: 11px;
}
.ic-badge { font-size: 12px; padding: 3px 10px; border-radius: 999px; }
.ic-badge.warn { background: var(--ic-amber-soft); color: var(--ic-amber); }
.ic-badge.info { background: var(--ic-pri-soft); color: var(--ic-pri); }
.ic-badge.accent { background: var(--ic-violet-soft); color: var(--ic-violet); }
.ic-flow-step { display: flex; gap: 10px; margin-bottom: 10px; }
.ic-flow-step em {
    font-style: normal; flex: 0 0 24px; height: 24px; border-radius: 50%; background: var(--ic-pri-soft);
    color: var(--ic-pri); display: grid; place-items: center; font-size: 12px; font-weight: 600;
}
.ic-flow-step div b { display: block; font-size: 13px; }
.ic-flow-step div span { color: var(--ic-sub); font-size: 12.5px; }

/* ===== 10 对照表 ===== */
.ic-table-tools { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; margin-bottom: 14px; }
.ic-table-tools input {
    border: 1px solid var(--ic-line-strong); border-radius: var(--ic-r-sm); padding: 8px 12px; outline: 0; flex: 1; min-width: 220px;
}
.ic-table-tools input:focus { border-color: var(--ic-pri); }
.ic-rows { border: 1px solid var(--ic-line); border-radius: var(--ic-r); overflow: hidden; }
.ic-row-i { display: flex; gap: 12px; padding: 10px 14px; border-bottom: 1px solid #f1f0ee; cursor: pointer; align-items: baseline; }
.ic-row-i:hover { background: var(--ic-pri-soft); }
.ic-row-i:last-child { border-bottom: 0; }
.ic-row-i b { flex: 0 0 82px; color: var(--ic-pri); font-weight: 600; font-variant-numeric: tabular-nums; }
.ic-row-i span { flex: 1; }
.ic-row-i em { flex: 0 0 auto; font-style: normal; color: var(--ic-mute); font-size: 12px; }
.ic-detail code, .ic-mono { font-family: ui-monospace, Menlo, Consolas, monospace; }
.ic-pre { white-space: pre-wrap; background: #fafaf9; border: 1px solid var(--ic-line); border-radius: var(--ic-r-sm); padding: 12px; font-size: 12.5px; color: #44413d; max-height: 380px; overflow: auto; }

/* ===== 11 词库 ===== */
.ic-door-block { margin-bottom: 18px; }
.ic-door-block h3 { font-size: 15px; margin: 0 0 10px; color: #45423f; }
.ic-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.ic-tile { border: 1px solid var(--ic-line); border-radius: var(--ic-r-sm); padding: 11px 14px; background: #fff; cursor: pointer; transition: all .15s; }
.ic-tile:hover { border-color: var(--ic-pri); box-shadow: 0 4px 14px rgba(0, 117, 222, .1); transform: translateY(-1px); }
.ic-tile b { display: block; font-size: 13.5px; font-weight: 600; }
.ic-tile em { font-style: normal; color: var(--ic-mute); font-size: 12px; }
.ic-alias-item { border-bottom: 1px dashed var(--ic-line); padding: 10px 0; }
.ic-alias-item b { font-size: 13.5px; }
.ic-alias-item p { margin: 3px 0 5px; color: var(--ic-sub); font-size: 12.5px; }
.ic-alias-item .ic-words { display: flex; flex-wrap: wrap; gap: 6px; }

/* ===== 12 法规 ===== */
.ic-law-timeline { border-left: 2px solid var(--ic-line); padding-left: 18px; margin-left: 6px; }
.ic-law-tl-i { position: relative; padding-bottom: 18px; }
.ic-law-tl-i::before {
    content: ''; position: absolute; left: -25px; top: 6px; width: 9px; height: 9px; border-radius: 50%;
    background: var(--ic-pri); box-shadow: 0 0 0 3px var(--ic-pri-soft);
}
.ic-law-tl-i time { color: var(--ic-mute); font-size: 12px; font-variant-numeric: tabular-nums; }
.ic-law-tl-i h4 { margin: 2px 0 4px; font-size: 14px; }
.ic-law-tl-i p { margin: 0; color: var(--ic-sub); font-size: 13px; }
.ic-portals { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 10px; }
.ic-portal { border: 1px solid var(--ic-line); border-radius: var(--ic-r-sm); padding: 12px 14px; display: block; transition: all .15s; }
.ic-portal:hover { border-color: var(--ic-pri); background: var(--ic-pri-soft); }
.ic-portal b { display: block; font-size: 13.5px; }
.ic-portal span { color: var(--ic-mute); font-size: 12px; }

/* ===== 13 加载与空态 ===== */
.ic-loading { text-align: center; padding: 40px 0; color: var(--ic-mute); }
.ic-loading::after { content: ''; display: inline-block; width: 16px; height: 16px; border: 2px solid var(--ic-line-strong); border-top-color: var(--ic-pri); border-radius: 50%; animation: ic-spin .7s linear infinite; vertical-align: -3px; margin-left: 8px; }
@keyframes ic-spin { to { transform: rotate(360deg); } }
.ic-empty { text-align: center; padding: 50px 20px; color: var(--ic-sub); }
.ic-empty .big { font-size: 40px; margin-bottom: 8px; }
.ic-foot { border-top: 1px solid var(--ic-line); padding: 20px 0 30px; color: var(--ic-mute); font-size: 12.5px; text-align: center; }

/* ===== 14 响应式 ===== */
@media (max-width: 860px) {
    .ic-top-in { flex-wrap: wrap; height: auto; padding: 10px 0; gap: 10px; }
    .ic-nav { width: 100%; margin-left: 0; overflow-x: auto; }
    .ic-hero h1 { font-size: 24px; }
    .ic-card { padding: 18px 16px; }
    .ic-wrap { padding: 0 14px; }
}
