/* 向壹财税 · 财务工作台 —— 样式 */
:root{
  --navy:#14304a; --navy-2:#1d4266; --gold:#c6a15b; --gold-2:#b18f45;
  --bg:#f4f6f9; --card:#ffffff; --text:#1f2937; --text-2:#5b6b7c;
  --line:#e3e8ef; --shadow:0 2px 12px rgba(20,48,74,.08);
  --ok:#2e7d32; --warn:#c62828; --radius:14px;
  /* 与官网 style.css 对齐所需的主题变量 */
  --header-bg:rgba(255,255,255,.94); --nav-text:#3a4553; --heading:var(--navy);
  --card-bg:#ffffff; --soft:#f7f8fa; --maxw:1180px; --dark:#0f1929;
  --gold-l:#dfc68f; --bg-alt:#f0f2f5; --ink:#20262f; --muted:#6b7280;
}
[data-theme="dark"]{
  --navy:#0e2233; --navy-2:#16334d; --gold:#d4b673;
  --bg:#0f1620; --card:#182430; --text:#e6edf3; --text-2:#9fb0c0;
  --line:#26333f; --shadow:0 2px 14px rgba(0,0,0,.35);
  --header-bg:rgba(15,25,41,.92); --nav-text:#c9d2dd; --heading:#eaf1f8;
  --card-bg:#16222f; --soft:#16222f; --dark:#0b1320;
  --gold-l:#dfc68f; --bg-alt:#1c2a3a; --ink:#e7eef6; --muted:#9aa6b5;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Microsoft YaHei",sans-serif;
  background:var(--bg); color:var(--text); line-height:1.6; font-size:15px;
}
a{color:var(--gold-2); text-decoration:none}
a:hover{text-decoration:underline}

/* 顶栏 —— 与官网 style.css 完全一致（深蓝+金主题变量） */
.container{width:100%;max-width:var(--maxw);margin:0 auto;padding:0 20px}
.site-header{position:sticky;top:0;z-index:50;background:var(--header-bg);backdrop-filter:saturate(150%) blur(10px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;height:66px}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:18px;color:var(--heading);white-space:nowrap}
.logo-img{height:38px;width:auto}
.nav-links{display:flex;align-items:center;gap:2px}
.nav-links a{padding:8px 13px;border-radius:9px;font-size:14.5px;color:var(--nav-text);font-weight:600;transition:.18s}
.nav-links a:hover{color:var(--heading);background:var(--soft)}
.nav-links a.active{color:var(--heading);position:relative}
.nav-links a.active::after{content:"";position:absolute;bottom:-2px;left:16px;right:16px;height:2.5px;background:var(--gold);border-radius:99px}
.nav-cta{background:var(--gold)!important;color:var(--heading)!important;padding:9px 20px!important;font-weight:700;border-radius:10px!important;transition:.2s}
.nav-cta:hover{filter:brightness(.92);transform:translateY(-1px)}
.nav-toggle{display:none;background:none;border:0;font-size:24px;color:var(--heading);cursor:pointer}
.theme-toggle{background:none;border:1.5px solid var(--line);color:var(--nav-text);width:40px;height:40px;border-radius:10px;cursor:pointer;font-size:18px;display:grid;place-items:center;transition:.2s;margin-left:8px;flex:none}
.theme-toggle:hover{border-color:var(--gold);color:var(--gold)}
.theme-toggle:focus-visible{outline:2px solid var(--gold);outline-offset:2px}
@media(max-width:900px){
  .nav-links{position:absolute;top:66px;left:0;right:0;background:var(--card-bg);flex-direction:column;align-items:stretch;gap:0;padding:10px 16px 18px;border-bottom:1px solid var(--line);display:none;box-shadow:var(--shadow)}
  .nav-links.open{display:flex}
  .nav-links a{padding:12px 8px;border-radius:8px}
  .nav-cta{margin-top:8px;text-align:center}
  .nav-toggle{display:block}
}
/* 搜索栏（表头下方独立条，沿用官网主题变量） */
.tool-search{background:var(--bg);border-bottom:1px solid var(--line);padding:12px 0}
.tool-search .search-wrap{position:relative;max-width:560px;margin:0 auto}
.tool-search #search{width:100%;padding:9px 14px 9px 36px;border-radius:20px;border:1px solid var(--line);background:var(--card);color:var(--text);font-size:14px;outline:none;transition:.18s}
.tool-search #search::placeholder{color:var(--text-2)}
.tool-search #search:focus{border-color:var(--navy);box-shadow:0 0 0 3px rgba(20,48,74,.12)}
.tool-search .search-wrap svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--navy);opacity:.55}

/* 布局 */
.layout{max-width:1080px; margin:0 auto; padding:16px}
.cats{display:flex; gap:8px; flex-wrap:wrap; margin:6px 0 18px}
.chip{
  padding:6px 14px; border-radius:18px; background:var(--card); border:1px solid var(--line);
  color:var(--text-2); cursor:pointer; font-size:13px; user-select:none
}
.chip.active{background:var(--navy); color:#fff; border-color:var(--navy)}

.section-title{font-size:15px; font-weight:700; color:var(--navy); margin:22px 4px 12px; display:flex; align-items:center; gap:8px}
[data-theme="dark"] .section-title{color:var(--gold)}
.section-title::before{content:""; width:4px; height:16px; background:var(--gold); border-radius:2px}

.card-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(240px,1fr)); gap:12px}
.tool-card{
  display:flex; align-items:flex-start; gap:12px; text-align:left;
  background:var(--card); border:1px solid var(--line); border-radius:var(--radius);
  padding:16px; cursor:pointer; transition:.15s; box-shadow:var(--shadow); position:relative; width:100%
}
.tool-card:hover{transform:translateY(-2px); border-color:var(--gold)}
.tool-icon{font-size:26px; line-height:1; flex:none}
.tool-info{display:flex; flex-direction:column; gap:3px; min-width:0; padding-right:58px}
.tool-name{font-size:15px; font-weight:700; color:var(--text)}
.tool-desc{font-size:12.5px; color:var(--text-2); line-height:1.5}
.tool-cat{
  position:absolute; top:12px; right:12px; font-size:10.5px; padding:2px 8px;
  border-radius:10px; background:rgba(198,161,91,.15); color:var(--gold-2); white-space:nowrap
}
.tool-cat.cat-calc{background:rgba(29,66,102,.12); color:var(--navy-2)}
[data-theme="dark"] .tool-cat.cat-calc{color:var(--gold)}
.tool-cat.cat-lookup{background:rgba(198,161,91,.15); color:var(--gold-2)}
.tool-cat.cat-gov{background:rgba(46,125,50,.12); color:var(--ok)}

/* 弹窗 */
.modal-mask{
  position:fixed; inset:0; background:rgba(15,22,32,.55); z-index:100;
  display:none; align-items:flex-start; justify-content:center; padding:20px; overflow-y:auto
}
.modal-mask.show{display:flex}
.modal{
  background:var(--card); border-radius:16px; max-width:640px; width:100%;
  margin:auto; box-shadow:0 12px 48px rgba(0,0,0,.3); animation:pop .18s ease
}
@keyframes pop{from{transform:scale(.97);opacity:0}to{transform:scale(1);opacity:1}}
.modal-head{
  display:flex; align-items:center; justify-content:space-between; padding:16px 20px;
  border-bottom:1px solid var(--line); position:sticky; top:0; z-index:3; background:var(--card); border-radius:16px 16px 0 0
}
.modal-head h2{margin:0; font-size:17px; color:var(--navy)}
[data-theme="dark"] .modal-head h2{color:var(--gold)}
.modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:var(--text-2);line-height:1}
.modal-body{padding:20px}

/* 表单 */
.field{margin-bottom:14px}
.field label{display:block; font-size:13px; color:var(--text-2); margin-bottom:5px; font-weight:600}
.field input, .field select{
  width:100%; padding:10px 12px; border:1px solid var(--line); border-radius:9px;
  background:var(--bg); color:var(--text); font-size:14px; outline:none
}
.field input:focus, .field select:focus{border-color:var(--gold)}
.row2{display:grid; grid-template-columns:1fr 1fr; gap:12px}
.hint{font-size:11.5px; color:var(--text-2); margin-top:4px}
.limit-err{color:#e0392b !important; font-weight:600}
.input-err{border-color:#e0392b !important}
.limit-warn{color:#b9770e !important; font-weight:500}
.check-row{display:flex; gap:16px; flex-wrap:wrap; margin-top:6px}
.check-label{display:flex; align-items:center; gap:5px; cursor:pointer; font-size:13.5px; color:var(--text)}
.check-label input[type=checkbox]{width:16px; height:16px; accent-color:var(--gold-2)}
.btn{
  background:var(--navy); color:#fff; border:none; padding:11px 20px; border-radius:9px;
  font-size:15px; cursor:pointer; width:100%; font-weight:600; margin-top:4px
}
.btn:hover{background:var(--navy-2)}
.btn-gold{background:var(--gold);color:var(--navy)}

/* 结果 */
.result{
  margin-top:16px; background:var(--bg); border:1px solid var(--line);
  border-radius:11px; padding:16px; display:none
}
.result.show{display:block}
.result .big{font-size:26px; font-weight:800; color:var(--gold-2); margin:4px 0 10px}
.result table{width:100%; border-collapse:collapse; font-size:13.5px}
.result table th, .result table td{padding:7px 8px; text-align:left; border-bottom:1px solid var(--line)}
.result table th{color:var(--text-2); font-weight:600}
.result table td.num, .result table th.num{text-align:right; font-variant-numeric:tabular-nums}
.result .total-row td{font-weight:700; border-top:2px solid var(--gold); border-bottom:none}

/* 速查表 */
.lookup-table{width:100%; border-collapse:collapse; font-size:13.5px; margin-top:6px}
.lookup-table th, .lookup-table td{padding:8px 10px; text-align:center; border-bottom:1px solid var(--line); vertical-align:top}
.lookup-table td{word-break:break-word}
.lookup-table th{background:var(--bg); color:var(--navy); font-weight:700; position:sticky; top:60px; z-index:2}
[data-theme="dark"] .lookup-table th{color:var(--gold)}
.lookup-table td.num{text-align:center; font-variant-numeric:tabular-nums; white-space:nowrap}
.lookup-table th.num{white-space:nowrap}
.lookup-table th.center, .lookup-table td.center{text-align:center}
.lookup-table td.nowrap, .lookup-table th.nowrap{white-space:nowrap}
/* 窄列：限制宽度，配合单元格内 <br> 多行展示（如"计征方式·税率"列） */
.lookup-table th.narrow, .lookup-table td.narrow{width:110px; max-width:110px; vertical-align:top; line-height:1.5}
.lookup-table tr:hover td{background:rgba(198,161,91,.06)}
/* 表格容器：内容过多时自动换行，不在手机上左右滑动 */
.table-scroll{margin:6px 0}
/* 固定列宽：印花税多张表统一列宽，过长自动换行 */
.stamp-table{table-layout:fixed}
.stamp-table th:nth-child(1),.stamp-table td:nth-child(1){width:34%}
.stamp-table th:nth-child(2),.stamp-table td:nth-child(2){width:16%}
.stamp-table th:nth-child(3),.stamp-table td:nth-child(3){width:50%}
/* 固定列宽：社保比例表「说明」列不再挤压其他列 */
.social-table{table-layout:fixed}
.social-table th:nth-child(1),.social-table td:nth-child(1){width:18%}
.social-table th:nth-child(2),.social-table td:nth-child(2){width:15%}
.social-table th:nth-child(3),.social-table td:nth-child(3){width:15%}
.social-table th:nth-child(4),.social-table td:nth-child(4){width:52%}

/* 政策来源 + 逻辑说明块 */
.policy-box{
  margin-top:16px; border:1px dashed var(--gold); border-radius:10px; padding:12px 14px;
  background:rgba(198,161,91,.06); font-size:12.5px; color:var(--text-2)
}
.policy-box b{color:var(--text)}
.policy-box .logic{margin-top:8px; white-space:pre-line; line-height:1.7}
.policy-box a{word-break:break-all}
.disclaimer{margin-top:12px; font-size:11.5px; color:var(--warn); line-height:1.5}

/* 政务链接 */
.gov-grid{display:grid; grid-template-columns:repeat(auto-fill,minmax(220px,1fr)); gap:8px; margin-top:8px}
.gov-link{
  display:flex; flex-direction:column; gap:3px; padding:11px 13px; background:var(--bg);
  border:1px solid var(--line); border-radius:10px; color:var(--text); font-size:13.5px; font-weight:600
}
.gov-link:hover{border-color:var(--gold); text-decoration:none; background:rgba(198,161,91,.06)}
.gov-url{font-size:11px; color:var(--text-2); font-weight:400; word-break:break-all}

/* 页脚 —— 与官网 style.css 完全一致 */
.site-footer{background:var(--dark);color:#c9d2dd;padding:56px 0 26px;margin-top:0}
.footer-grid{display:grid;grid-template-columns:1.6fr 1fr 1fr 1.2fr;gap:30px}
.footer-brand .brand{color:#fff;margin-bottom:14px}
.footer-brand p{font-size:14px;color:#9aa6b5;max-width:340px}
.site-footer h4{color:#fff;font-size:15px;margin-bottom:14px}
.site-footer .footer-grid > div:not(.footer-brand) a{display:block;color:#aeb9c7;font-size:14px;padding:5px 0;transition:.15s}
.site-footer .footer-grid > div:not(.footer-brand) a:hover{color:var(--gold-l)}
.footer-bottom{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px 20px;border-top:1px solid #1e2d3f;margin-top:34px;padding-top:20px;font-size:13px;color:#8794a4}
.footer-bottom a{color:inherit;text-decoration:none}
.footer-bottom a:hover{color:var(--gold-l)}
.beian-icon{display:inline-block;height:15px;width:auto;vertical-align:-2px;margin-right:5px}
.footer-qr{display:flex;gap:18px;margin-top:18px;flex-wrap:wrap;justify-content:center}
.footer-qr .fqr{flex:0 0 auto;text-align:center}
.footer-qr .fqr img{width:76px;height:76px;border-radius:8px;background:#fff;padding:5px;box-shadow:0 2px 8px rgba(0,0,0,.25);display:inline-block;object-fit:contain;max-width:none}
.footer-qr .fqr b{display:block;color:#dfe5ee;font-size:12px;font-weight:600;margin-bottom:4px}
.footer-qr .fqr span{display:block;color:#8e9aa9;font-size:11px;margin-top:4px}
.site-footer .disclaimer{margin-top:16px;font-size:12px;color:#f0a8a8;line-height:1.6;border-top:1px dashed rgba(255,255,255,.15);padding-top:14px}
[data-theme="dark"] .site-footer{background:#0b1320}
@media(max-width:760px){
  .site-footer .footer-grid{grid-template-columns:1fr 1fr}
  .site-footer .footer-brand{grid-column:1/-1}
}
@media(max-width:480px){
  .site-footer .footer-grid{grid-template-columns:1fr}
}

.empty{text-align:center; color:var(--text-2); padding:40px; font-size:14px}

@media(max-width:600px){
  .brand small{display:none}
  .search-wrap{max-width:none}
  .row2{grid-template-columns:1fr}
  .modal-body{padding:16px}
  .layout{padding:12px}
  .lookup-table{font-size:12px}
}

/* 隐藏数字输入框的上下微调箭头（避免点击误变 0.01） */
.field input[type=number]::-webkit-outer-spin-button,
.field input[type=number]::-webkit-inner-spin-button{
  -webkit-appearance:none; margin:0;
}
.field input[type=number]{
  -moz-appearance:textfield; appearance:textfield;
}

/* 预设 chip 行（图片压缩目标体积） */
.chip-row{display:flex; flex-wrap:wrap; gap:8px; align-items:center}
.chip-row .chip{cursor:pointer}
.chip-input{flex:1; min-width:120px; padding:8px 12px; border:1px solid var(--line); border-radius:18px; background:var(--bg); color:var(--text); font-size:13px; outline:none}
.chip-input:focus{border-color:var(--gold)}

/* 结果内一键复制按钮 */
.copy-btn{margin-top:10px; background:var(--navy); color:#fff; border:none; padding:7px 14px; border-radius:8px; font-size:13px; cursor:pointer}
.copy-btn:hover{background:var(--navy-2)}
.copy-btn:active{transform:translateY(1px)}

/* 文件顺序列表（合并 / 多图合成 PDF 排序用） */
.file-order{margin:6px 0 12px; display:flex; flex-direction:column; gap:6px}
.fo-item{display:flex; align-items:center; gap:10px; padding:8px 10px; background:var(--bg); border:1px solid var(--line); border-radius:9px; font-size:13px}
.fo-idx{width:22px; height:22px; flex:none; display:grid; place-items:center; background:var(--navy); color:#fff; border-radius:50%; font-size:11px; font-weight:700}
.fo-name{flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.fo-act{display:flex; gap:4px; flex:none}
.fo-act button{width:28px; height:28px; border:1px solid var(--line); background:var(--card); color:var(--text); border-radius:7px; cursor:pointer; font-size:13px; line-height:1}
.fo-act button:hover:not(:disabled){border-color:var(--gold); color:var(--gold-2)}
.fo-act button:disabled{opacity:.35; cursor:not-allowed}
