/* 龙翔进销存 · 样式 v0.1 */
:root{--b:#1668dc;--bd:#0a3d91;--bg:#eef1f6;--line:#e3e8f0;--txt:#222;--mut:#69748b}
*{box-sizing:border-box}
body{margin:0;font:14px/1.6 -apple-system,"Microsoft YaHei",sans-serif;color:var(--txt);background:var(--bg)}
a{color:var(--b);text-decoration:none}
h1,h2,h3{margin:0 0 10px}
/* 顶栏 */
.top{background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;gap:14px;padding:8px 14px;flex-wrap:wrap;position:sticky;top:0;z-index:20}
.top .brand a{font-weight:700;color:var(--bd);font-size:15px}
.ver{font-size:11px;color:#fff;background:var(--b);padding:1px 6px;border-radius:8px;font-weight:400}
.menu{display:flex;gap:2px;flex:1;flex-wrap:wrap}
.menu a{padding:6px 11px;border-radius:7px;color:#445;font-size:13.5px}
.menu a.on,.menu a:hover{background:#eaf1fd;color:var(--b);font-weight:600}
.me{font-size:12.5px;color:var(--mut);display:flex;gap:10px;align-items:center}
.wrap{max-width:1280px;margin:0 auto;padding:14px}
.foot{color:#9aa4b6;font-size:12px;text-align:center;padding:20px}
/* 卡片/表格 */
.card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:14px}
.card>h2{font-size:15px;border-left:3px solid var(--b);padding-left:8px}
.flex{display:flex;gap:14px;flex-wrap:wrap}
.flex>*{flex:1 1 300px;min-width:280px}
table.tb{width:100%;border-collapse:collapse;font-size:13px}
table.tb th,table.tb td{border-bottom:1px solid var(--line);padding:7px 8px;text-align:left;vertical-align:middle}
table.tb th{background:#f7f9fc;font-weight:600;color:#445;white-space:nowrap}
table.tb tr:hover td{background:#fafcff}
table.tb td.r,table.tb th.r{text-align:right;font-variant-numeric:tabular-nums}
table.tb td.c,table.tb th.c{text-align:center}
table.tb td.tip,table.tbl td.tip{background:none;border-radius:0;margin:0;padding:12px 8px;color:var(--mut);font-size:12.5px}
.table-wrap{overflow-x:auto}
/* 按钮/表单 */
button,.btn{font:inherit;padding:7px 14px;border:0;border-radius:7px;background:var(--b);color:#fff;cursor:pointer;display:inline-block}
.btn.g,button.g{background:#eef1f6;color:var(--b)}
.btn.o,button.o{background:#f08a1d}
.btn.r,button.r{background:#d64545}
.btn.s{padding:4px 9px;font-size:12.5px;border-radius:6px}
button:disabled{opacity:.45;cursor:not-allowed}
label{display:block;font-size:13px;color:#445;margin-bottom:8px}
input,select,textarea{font:inherit;padding:7px 9px;border:1px solid #cbd6e8;border-radius:7px;width:100%;background:#fff}
input[type=checkbox]{width:auto}
.row{display:flex;gap:10px;flex-wrap:wrap}
.row>label{flex:1 1 180px}
/* 标签 */
.b{display:inline-block;font-size:12px;padding:1px 8px;border-radius:9px;white-space:nowrap}
.b-gray{background:#eef1f6;color:#5b6577}.b-blue{background:#e6effd;color:#1668dc}
.b-green{background:#e6f7ec;color:#1a7f45}.b-orange{background:#fff2e0;color:#c26a00}
.b-red{background:#fdeaea;color:#c0392b}.b-teal{background:#e2f6f4;color:#0e7c72}
/* 提示 */
.flash{background:#e8f6ec;border:1px solid #b6e0c2;color:#166534;border-radius:8px;padding:9px 12px;margin-bottom:12px;font-size:13px}
.err{background:#fdeaea;border:1px solid #f0bcbc;color:#c0392b;border-radius:8px;padding:9px 12px;margin-bottom:12px;font-size:13px}
.tip{font-size:12px;color:var(--mut);background:#f7f9fc;border-radius:8px;padding:8px 10px;margin-top:10px}
.kpi{display:flex;gap:12px;flex-wrap:wrap}
.kpi a{flex:1 1 150px;background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px 14px}
.kpi .n{font-size:22px;font-weight:700;color:var(--bd)}
.kpi .t{font-size:12.5px;color:var(--mut)}
/* 登录 */
.login-body{display:flex;align-items:center;justify-content:center;min-height:100vh;background:linear-gradient(135deg,#1668dc,#0a3d91)}
.login-box{background:#fff;border-radius:14px;padding:26px 24px;width:360px;max-width:92vw;box-shadow:0 10px 30px rgba(0,0,0,.2)}
.login-box h1{font-size:19px;color:var(--bd);margin-bottom:4px}
.login-box .sub{color:var(--mut);font-size:12.5px;margin:0 0 16px}
.login-box button{width:100%;padding:10px;margin-top:4px}
/* 手机端 */
.m-bar{background:var(--b);color:#fff;padding:10px 14px;display:flex;justify-content:space-between;align-items:center;font-weight:600}
.m-card{background:#fff;border-radius:10px;padding:12px;margin:10px 0;box-shadow:0 1px 3px rgba(20,40,80,.07)}
.m-kv{display:flex;font-size:13px;border-bottom:1px dashed var(--line);padding:5px 0}
.m-kv .k{color:var(--mut);width:78px;flex:none}
.m-kv .v{flex:1;font-weight:600}
.m-btns{display:flex;gap:8px;margin-top:10px}
.m-btns button{flex:1;padding:12px}
.big-num{font-size:26px;font-weight:700;color:var(--bd);font-variant-numeric:tabular-nums}
table.tbl{width:100%;border-collapse:collapse;background:#fff}
table.tbl th,table.tbl td{border-bottom:1px solid #eef0f3;padding:7px 9px;text-align:left;vertical-align:middle;font-size:13px}
table.tbl th{background:#fafbfc;font-weight:600;color:#555;white-space:nowrap;text-align:left}
table.tbl tr:hover td{background:#fcfcfd}
table.tbl td.r,table.tbl th.r{text-align:right;font-variant-numeric:tabular-nums}
table.tbl td.c,table.tbl th.c{text-align:center}
table.tbl input,table.tbl select{padding:4px 6px;font-size:13px}
.muted{color:#98a2b3;font-size:12px}
button.mini,.btn.mini{padding:3px 9px;font-size:12px}
.pgwrap{display:inline-block;width:110px;height:9px;background:#eef1f5;border-radius:6px;overflow:hidden;vertical-align:middle}
.pg{display:block;height:100%;background:#cbd5e1;transition:width .3s}
.pg.run{background:#2f7cf6}
.pg.ok{background:#12b76a}
.pgtxt{font-size:12.5px;color:#667085;margin-left:6px;white-space:nowrap}
.scanbtn{margin-left:6px;padding:4px 10px;font-size:12.5px}
@media print{
  .top,.foot,.no-print,.flash{display:none !important}
  body{background:#fff}
  .wrap{max-width:none;padding:0}
}
