:root{--navy:#123a6b;--blue:#1a5fa8;--bg:#eef2f6;--card:#fff;--text:#111;--muted:#667;--line:#e6e8ee;--th:#f4f7fb;--nav:#123a6b}
html.dark{--navy:#8eb6e8;--blue:#3b82f6;--bg:#0b1220;--card:#151c2c;--text:#e8eef8;--muted:#9aa8bd;--line:#243044;--th:#1a2334;--nav:#070b14}
html{-webkit-text-size-adjust:100%}
img{max-width:100%;height:auto}
body{margin:0;font-family:Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);padding-left:220px}
.nav{position:fixed;left:0;top:0;bottom:0;width:220px;background:#fff;color:#123a6b;display:flex;flex-direction:column;padding:18px 12px;z-index:20;border-right:1px solid #e6e8ee}
html.dark .nav{background:#151c2c;color:#e8eef8;border-right-color:#243044}
.nav a{color:#123a6b;text-decoration:none;font-size:14px;font-weight:600;padding:10px 12px;border-radius:8px;margin:2px 0;display:flex;align-items:center;gap:8px}
html.dark .nav a{color:#d7e4f5}
.nav a:hover,.nav a.on{background:#f0f4fa;color:#c4122f}
html.dark .nav a:hover,html.dark .nav a.on{background:#1a2334;color:#fff}
.nav svg{width:16px;height:16px;flex:0 0 16px}
.nav .l{display:flex;flex-direction:column;align-items:flex-start;gap:8px;font-weight:700;padding:8px;margin-bottom:8px;font-size:13px;background:#fff;border-radius:10px}
.nav img{height:52px;width:auto;max-width:196px}
.nav .g{font-size:10px;letter-spacing:.8px;text-transform:uppercase;color:#8a96a8;padding:12px 12px 4px;font-weight:700}
.nav .m{border-bottom:1px solid #d7dee8;padding-bottom:14px;margin-bottom:14px}
html.dark .nav .m{border-bottom-color:#243044}
.theme{margin-top:auto;background:#f0f4fa;color:#123a6b;border:0;border-radius:8px;padding:10px 12px;cursor:pointer;font-weight:700;font-size:13px}
html.dark .theme{background:#1a2334;color:#e8eef8}
.wrap{max-width:1180px;margin:18px auto;padding:0 12px}
.card{background:var(--card);border-radius:10px;padding:16px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.bar{display:flex;gap:10px;align-items:center;margin-bottom:14px;flex-wrap:wrap}
.bar h1{margin:0;font-size:20px;flex:1;color:var(--navy)}
.btn{background:var(--blue);color:#fff;border:0;border-radius:6px;padding:8px 14px;text-decoration:none;font-size:13px;cursor:pointer;display:inline-block}
.btn.g{background:#1a7f4c}
.btn.r{background:#b42318}
.btn.o{background:#c45c12}
.btn.s{background:#5b6573}
input,textarea,select{font:inherit}
html.dark input,html.dark textarea,html.dark select{background:var(--card);color:var(--text);border:1px solid var(--line)}
html.dark .sheet input,html.dark .sheet textarea,html.dark .sheet select{background:transparent;color:#000;border:0}
.search{padding:8px 10px;border:1px solid var(--line);border-radius:6px;min-width:240px;background:var(--card);color:var(--text)}
table.list{width:100%;border-collapse:collapse;font-size:13px}
table.list th,table.list td{border-bottom:1px solid var(--line);padding:9px 8px;text-align:left;vertical-align:middle}
table.list th{background:var(--th);color:var(--muted);white-space:nowrap}
table.list td{white-space:nowrap}
table.list .acts{white-space:nowrap}
table.list .acts .btn{margin:0 2px 0 0}
.stats{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:14px}
.stat{background:var(--card);border-radius:10px;padding:14px;box-shadow:0 2px 10px rgba(0,0,0,.06)}
.stat b{display:block;font-size:22px;color:var(--navy)}
.stat span{font-size:12px;color:var(--muted)}
.flash{background:#e8f7ee;color:#146c2e;padding:8px 12px;border-radius:6px;margin-bottom:12px}
.hero{background:linear-gradient(120deg,#0f2a4a,#1a5fa8 60%,#c4122f);color:#fff;border-radius:18px;padding:26px 28px;margin-bottom:18px;display:flex;justify-content:space-between;align-items:center;gap:16px}
.hero h1{margin:0 0 6px;font-size:26px}.hero p{margin:0;opacity:.9;font-size:14px}
.dash{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}
.dcard{background:var(--card);border-radius:14px;padding:16px 18px;box-shadow:0 6px 20px rgba(18,58,107,.08);border-top:4px solid #1a5fa8}
.dcard.r{border-color:#c4122f}.dcard.g{border-color:#1a7f4c}.dcard.o{border-color:#c45c12}
.dcard b{display:block;font-size:28px;color:var(--navy)}
.dcard span{font-size:12px;color:var(--muted)}
.dcard .ic{font-size:18px;margin-bottom:6px}
.quick{display:flex;gap:10px;flex-wrap:wrap}
.quick a{background:#fff;color:#123a6b;padding:10px 16px;border-radius:10px;text-decoration:none;font-weight:700;font-size:13px}
html.dark .quick a{background:#1a2334;color:#e8eef8}
.gwrap{display:flex;align-items:flex-end;gap:10px;height:180px;padding:8px 4px 0}
.gbar{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;height:100%;gap:6px}
.gbar i{display:block;width:100%;max-width:42px;background:linear-gradient(180deg,#1a5fa8,#c4122f);border-radius:8px 8px 0 0}
.gbar span{font-size:12px;font-weight:700;color:var(--navy)}
.gbar small{font-size:10px;color:var(--muted)}
@media(max-width:900px){.dash{grid-template-columns:1fr 1fr}.hero{flex-direction:column;align-items:flex-start}}
.topbar,.nav-bg{display:none}
.who{font-size:11px;color:#8a96a8;padding:8px 12px}
.login{padding:16px !important;min-height:100vh;display:flex;align-items:center;justify-content:center}
.login-box{width:min(400px,100%);background:var(--card);padding:28px 22px;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.08)}
.login-box img{height:52px;width:auto;max-width:100%;margin-bottom:10px}
.login-box h1{margin:0 0 4px;font-size:18px;color:var(--navy)}
.login-box p{margin:0 0 16px;color:var(--muted);font-size:13px}
.login-box label{display:block;font-size:12px;font-weight:700;margin:10px 0 4px}
.login-box input{width:100%;padding:10px;border:1px solid var(--line);border-radius:8px}
.user-add{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.user-add input,.user-add select{padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--card);color:var(--text)}
.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
@media(max-width:900px){
  body{padding-left:0;padding-top:52px}
  .topbar{display:flex;position:fixed;top:0;left:0;right:0;height:52px;background:#fff;z-index:30;align-items:center;gap:10px;padding:0 12px;border-bottom:1px solid #e6e8ee}
  html.dark .topbar{background:#151c2c;border-color:#243044}
  .topbar img{height:28px;width:auto}
  .ham{background:0;border:0;font-size:22px;cursor:pointer;color:inherit;width:40px;height:40px}
  .nav{transform:translateX(-100%);transition:transform .2s;z-index:40;overflow-y:auto;width:min(260px,86vw);box-shadow:4px 0 18px rgba(0,0,0,.15)}
  body.nav-open .nav{transform:none}
  .nav-bg{display:none;position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:35}
  body.nav-open .nav-bg{display:block}
  .nav a,.theme{min-height:42px}
  .wrap{padding:0 10px;margin:12px auto}
  .search{min-width:0;width:100%}
  .bar{align-items:stretch}
  .bar h1{flex:1 1 100%}
  .bar form{width:100%}
  .bar .btn{text-align:center}
  .dash{grid-template-columns:1fr 1fr}
  .hero{flex-direction:column;align-items:flex-start;padding:18px}
  .hero h1{font-size:20px}
  .quick{width:100%}
  .quick a{flex:1;text-align:center}
  .card,.sec{overflow:visible}
  .table-wrap{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
  table.list,table.mini{min-width:640px;width:max-content}
  .sheet-wrap{overflow-x:auto;max-width:100%;-webkit-overflow-scrolling:touch}
  .sheet{min-width:210mm}
  .actions{max-width:100%;padding:0 10px;justify-content:flex-start;flex-wrap:wrap}
  .set,.grid2{grid-template-columns:1fr !important}
  .tabs{overflow-x:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .tabs a{white-space:nowrap}
  .user-add{flex-direction:column}
  .user-add input,.user-add select,.user-add .btn{width:100%}
  .login-box{margin:12px;width:calc(100% - 24px)}
}
@media(max-width:560px){
  .dash{grid-template-columns:1fr}
  .stats{grid-template-columns:1fr}
  .hero{padding:16px}
  .dcard b{font-size:22px}
  .gwrap{height:140px}
  .btn{padding:10px 12px}
}

.sheet-wrap{max-width:210mm;margin:12px auto 24px;background:#fff;padding:8px;box-shadow:0 2px 12px rgba(0,0,0,.12)}
.actions{max-width:210mm;margin:10px auto 0;display:flex;gap:8px;justify-content:flex-end}
.sheet{border:1px solid #000;background:#fff;color:#000;font-size:10px;line-height:1.25}
.sheet table{width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;border:0}
.sheet td{border:1px solid #000;padding:2px 3px;vertical-align:middle;overflow:hidden;height:20px}
.sheet table + table > tbody > tr:first-child > td{border-top:0}
.sheet .nest,.sheet .pad0,.sheet .in0{padding:0;vertical-align:top;overflow:hidden}
.sheet .nest > table{width:100%}
.sheet .pad0 > table td,.sheet .in0 > table td,.sheet .nest > table td{border-top:0;border-left:0}
.sheet .pad0 > table tr td:last-child,.sheet .in0 > table tr td:last-child,.sheet .nest > table tr td:last-child{border-right:0}
.sheet .pad0 > table tr:last-child td,.sheet .in0 > table tr:last-child td{border-bottom:0}
.sheet .nest > table tr:last-child td{border-bottom:1px solid #000}
.sheet .logo{max-height:72px;width:auto;max-width:100%}
.sheet input::placeholder,.sheet textarea::placeholder{color:#8a8a8a;opacity:1}
.sheet input,.sheet textarea,.sheet select{display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;border:0;outline:0;background:transparent;padding:0 2px;font:inherit;color:#000;height:16px}
.sheet textarea{height:auto;min-height:32px;resize:none}
.sheet input[type=date],.sheet input[type=datetime-local]{height:16px;padding:0;font-size:9px;max-width:100%}
.sheet input[type=checkbox],.sheet input[type=radio]{display:inline;width:auto;height:auto;min-width:0;margin:0 3px 0 0;vertical-align:middle}
.sheet .pad0{padding:0}
.sheet .vtop{vertical-align:top}
.sheet input.inl{width:calc(100% - 130px);display:inline-block;vertical-align:middle;background:transparent}
.said{text-align:left;font-weight:700;background:#E6E6E6}
.co{display:flex;gap:6px;align-items:flex-start;text-align:left}
.logo{height:auto;width:auto;max-width:100%}
.logotxt{font-size:15px;font-weight:800;letter-spacing:.3px;line-height:1.1}
.cblue{color:#1a4fa0}
.cred{color:#E31C23}
.tag{font-size:6px;font-weight:700;margin-top:2px;letter-spacing:.2px}
.cname{font-weight:700;font-size:14px;margin-bottom:8px;letter-spacing:.3px}
.co-box{background:#E6E6E6;text-align:left;vertical-align:top;font-size:10px;line-height:1.45}
.roff{margin-top:2px}
.t1{font-size:15px;font-weight:700;margin-bottom:2px}
.red{color:#FF0000;font-weight:700;font-size:9px}
.blue{color:#0000FF;font-weight:700;text-decoration:underline}
.gh{background:#E6E6E6;font-weight:700;text-align:center}
.lab{font-weight:700;white-space:nowrap;width:88px;background:#E6E6E6}
.lab.wide{white-space:normal;width:38%}
.gbox{background:#E6E6E6;min-height:20px}
.gbox input{background:transparent}
.sup{background:#E6E6E6}
.woh{font-weight:700;text-align:left;background:#fff}
.ctr{text-align:center}
.ids{font-size:8.5px;margin-top:3px}
.w32{width:32%}.w33{width:33%}.w34{width:34%}.w42{width:42%}.w50{width:50%}.w58{width:58%}.w62{width:62%}.w68{width:68%}
.w70{width:70px}.w80{width:80px}.w110{width:110px}
.addr{height:52px;vertical-align:top}
.addr textarea{height:50px}
.goods .item td{height:24px}
.note{font-size:9px;text-align:center;background:#E6E6E6;height:22px}
.wval{width:12%}
.sig{height:48px;vertical-align:top}
.fine{font-size:6.5px;line-height:1.25;font-weight:400;color:#000;text-align:left}
.sheet .note8{font-size:8px;line-height:1.35;vertical-align:top}
.sheet .c-addr{height:68px;vertical-align:top}
.sheet .c-addr textarea{height:66px;min-height:66px}
.sheet input.uline{width:86px !important;display:inline-block;border:0;border-bottom:1px solid #000;background:transparent;height:16px;padding:0 3px;min-width:0}
.sheet input.uline.lg{width:160px !important}
.sheet .hfill{width:100%;height:100%}
.sheet .hfill tr{height:25%}
.sheet .hfill .lab{width:112px}
.foot{font-size:8px;font-style:italic}
.cb{font-size:12px}
.val{min-height:16px;display:block;line-height:16px}
label{cursor:pointer}
@media print{
  html,body{background:#fff;padding:0 !important;margin:0 !important;overflow:visible !important;width:auto}
  .nav,.actions,.no-print,.topbar,.nav-bg{display:none !important}
  .sheet-wrap,.print-copy{display:block !important;margin:0;padding:0;box-shadow:none;max-width:100% !important;width:100% !important;overflow:visible !important}
  .sheet{width:100% !important;max-width:100% !important;box-sizing:border-box}
  @page{size:A4;margin:5mm}
}
