/* ============================================================
   公共凭证样式（柠檬云风格）
   来源：pages/accounting/voucher_add.php 内联样式抽取
   用法：前台页面经 includes/header.php 全局引入，可直接使用 .vc-* 类
   ============================================================ */

/* ============ 柠檬云风格 新增凭证 ============ */
.vc-wrap { font-family: "Microsoft YaHei","微软雅黑",Arial,sans-serif; color:#333; font-size:14px; background:#FFFBFF; margin:-1rem -0.8rem 0; padding:14px 22px 22px; min-height:calc(100vh - 60px); box-sizing:border-box; }
.vc-wrap * { box-sizing:border-box; }

/* ---- 顶部页签条 ---- */
.vc-tabs { display:flex; align-items:center; gap:8px; font-size:15px; color:#2c3e50; margin-bottom:10px; }
.vc-tabs .tab-item { padding:7px 16px; border-radius:6px 6px 0 0; cursor:pointer; }
.vc-tabs .tab-item.active { background:#fff; color:#2c3e50; box-shadow:0 -1px 6px rgba(0,0,0,.06); font-weight:600; }
.vc-tabs .tab-more { margin-left:auto; color:#999; font-size:13px; }

/* ---- 工具栏 ---- */
.vc-toolbar { display:flex; align-items:center; justify-content:space-between; padding:8px 0 12px; flex-wrap:wrap; gap:6px; }
.vc-tb-left { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.vc-tb-right { display:flex; align-items:center; gap:6px; flex-wrap:wrap; }
.vc-btn { display:inline-flex; align-items:center; gap:5px; padding:7px 15px; border-radius:6px; border:1px solid #dadada; background:#fff; color:#333; font-size:13px; cursor:pointer; text-decoration:none; transition:all .15s; line-height:1.4; }
.vc-btn:hover { color:#2c3e50; border-color:#2c3e50; }
.vc-btn-green { background:#44b449; border-color:#44b449; color:#fff; font-weight:600; }
.vc-btn-green:hover { background:#3aa13f; border-color:#3aa13f; color:#fff; }
.vc-btn-blue { color:#3385ff; border-color:#cfe1ff; background:#f4f8ff; }
.vc-btn-blue:hover { color:#fff; background:#3385ff; border-color:#3385ff; }
.vc-btn:disabled { opacity:.45; cursor:not-allowed; pointer-events:none; }
.vc-btn .caret { font-size:10px; opacity:.8; }
.vc-link { color:#3385ff; text-decoration:none; font-size:13px; cursor:pointer; background:none; border:none; padding:6px 4px; }
.vc-link:hover { text-decoration:underline; }
.vc-sep { width:1px; height:18px; background:#e3e3e3; margin:0 6px; }

/* ---- 凭证主卡片 ---- */
.vc-card { background:#fff; border:1px solid #eef0f3; border-radius:8px; box-shadow:0 2px 10px rgba(30,60,90,.05); overflow:hidden; }

/* ---- 凭证头部信息行 ---- */
.vc-head { display:flex; align-items:center; gap:18px; padding:12px 18px; border-bottom:1px solid #f0f0f0; flex-wrap:wrap; background:#fffdfa; }
.vc-hgroup { display:flex; align-items:center; gap:6px; font-size:14px; }
.vc-hlabel { color:#666; }
.vc-word-sel { border:1px solid #dadada; border-radius:4px; padding:4px 8px; font-size:14px; background:#fff; color:#333; outline:none; }
.vc-num-inp { width:64px; text-align:center; border:1px solid #dadada; border-radius:4px; padding:4px 6px; font-size:14px; outline:none; }
.vc-date-wrap { display:flex; align-items:center; gap:6px; }
.vc-input { border:1px solid #dadada; border-radius:4px; padding:5px 9px; font-size:13px; outline:none; color:#333; transition:border-color .15s; }
.vc-input:focus { border-color:#3385ff; box-shadow:0 0 0 2px rgba(51,133,255,.12); }
.vc-input.wid-90 { width:90px; }
.vc-input.wid-140 { width:140px; }
.vc-input.wid-260 { width:260px; }
.vc-tip { color:#ff821c; font-size:12px; display:flex; align-items:center; gap:5px; }
.vc-head-right { margin-left:auto; display:flex; align-items:center; gap:14px; }

/* 状态徽章 */
.st-badge { display:inline-block; padding:3px 10px; border-radius:10px; font-size:12px; font-weight:600; }
.st-draft { background:#fff7e8; color:#b8860b; }
.st-audited { background:#e8f4ff; color:#1e6fc4; }
.st-posted { background:#e9f8ec; color:#1d8a3e; }
.st-void { background:#f3f3f3; color:#888; }

/* ---- 摘要行 ---- */
.vc-summary-row { display:flex; align-items:center; gap:10px; padding:10px 18px; border-bottom:1px solid #f0f0f0; font-size:13px; color:#555; }

/* ---- 凭证表格 ---- */
.vc-grid { width:100%; border-collapse:collapse; table-layout:fixed; font-size:13px; }
.vc-grid th { font-weight:600; color:#333; background:#fffdfa; border:1px solid #e6e8ea; padding:0; text-align:center; }
.vc-grid td { border:1px solid #e6e8ea; padding:0; text-align:center; height:42px; color:#333; background:#fff; }
.vc-col-order { width:48px; }
.vc-col-summary { width:24%; }
.vc-col-subject { width:26%; }
.vc-col-amt { width:15.8%; }
.vc-col-qty { width:7%; }
.vc-col-op { width:56px; }

/* 金额表头两行 */
.vc-amt-hd { padding:6px 2px; }
.vc-digit-hd { display:grid; grid-template-columns:repeat(11,1fr); border-top:1px solid #e6e8ea; }
.vc-digit-hd span { border-right:1px solid #e6e8ea; height:24px; line-height:24px; font-size:11px; color:#666; font-weight:400; }
.vc-digit-hd span:last-child { border-right:none; }

/* 金额拆分格 */
.vc-amt-grid { display:grid; grid-template-columns:repeat(11,1fr); height:100%; }
.vc-digit { width:100%; height:100%; border:none; outline:none; text-align:center; font-size:14px; color:#2c3e50; background:transparent; border-right:1px solid #f0f1f3; font-family:Consolas,"Courier New",monospace; }
.vc-digit:last-child { border-right:none; }
.vc-digit:focus { background:#fff8e6; }
.vc-amt-credit .vc-digit:focus { background:#f0f8ff; }

/* 行内输入 */
.vc-inp { width:100%; height:100%; border:none; outline:none; padding:6px 10px; font-size:13px; text-align:left; background:transparent; color:#333; }
.vc-inp:focus { background:#fff8e6; }
.vc-sel { width:100%; height:100%; border:none; outline:none; padding:6px 8px; font-size:13px; background:transparent; color:#333; cursor:pointer; }
.vc-sel:focus { background:#fff8e6; }
.vc-del { padding:5px 8px; border:1px solid #ffd9d9; color:#e74c3c; background:#fff; border-radius:4px; cursor:pointer; font-size:12px; }
.vc-del:hover { background:#ffeaea; }

/* 合计行 */
.vc-total-row td { background:#fffdfa !important; height:44px; }
.vc-total-left { text-align:left; padding:8px 16px !important; font-size:14px; color:#2c3e50; }
.vc-total-left b { font-size:16px; color:#c0392b; font-family:SimSun,serif; }
.vc-total-nums { text-align:right; padding:8px 14px !important; font-size:13px; color:#555; white-space:nowrap; }
.vc-total-nums .diff-ok { color:#1d8a3e; font-weight:600; }
.vc-total-nums .diff-bad { color:#e74c3c; font-weight:700; }

/* 底部制单人 */
.vc-foot { display:flex; align-items:center; justify-content:flex-end; gap:12px; padding:10px 16px; color:#666; font-size:13px; }

/* 下拉浮层 */
.vc-dd { position:relative; display:inline-flex; }
.vc-dd-menu { position:absolute; top:calc(100% + 4px); left:0; background:#fff; border:1px solid #e6e8ea; border-radius:6px; box-shadow:0 6px 18px rgba(0,0,0,.1); min-width:132px; padding:4px 0; z-index:300; display:none; }
.vc-dd.open .vc-dd-menu { display:block; }
.vc-dd-item { display:block; width:100%; text-align:left; padding:8px 14px; font-size:13px; color:#333; background:none; border:none; cursor:pointer; text-decoration:none; }
.vc-dd-item:hover { background:#f4f6fa; }
.vc-sep-line { height:1px; background:#f0f0f0; margin:3px 0; }

@media print { .vc-toolbar,.vc-head,.vc-summary-row,.vc-foot,.vc-tabs,.vc-dd { display:none !important; } .vc-wrap { margin:0; min-height:auto; } body { background:#fff !important; } }

@media (max-width: 1100px) { .vc-col-summary { width:20%; } .vc-col-subject { width:22%; } }