/* 鼎崴進銷存系統 V1.0 — 宋韻：汝窯天青＋宣紙＋襯線標題 */
:root{
  --paper:#f7f1e7; --paper2:#efe7d7; --card:#fffdf8;
  --ink:#2f3a38; --ink2:#5c6a66; --line:#d9cfba;
  --celadon:#5b8583; --celadon-d:#3f6664; --gold:#b98a44; --red:#b3402e;
  --dark:#22302e;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);
  font-family:"Noto Sans TC","PingFang TC","Microsoft JhengHei",sans-serif;font-size:15px;line-height:1.65}
h1,h2,h3,.brand-name,.page-title{font-family:"Noto Serif TC","Songti TC","PMingLiU",serif}
a{color:var(--celadon-d)}
.shell{display:flex;min-height:100vh}
.side{width:228px;flex:0 0 228px;background:var(--dark);color:#e9e2d2;padding:22px 16px;display:flex;flex-direction:column;gap:18px}
.brand{display:flex;gap:10px;align-items:center}
.brand-mark{width:40px;height:40px;border:1.5px solid var(--gold);color:#f0d9a8;border-radius:8px;display:flex;align-items:center;justify-content:center;font-family:"Noto Serif TC",serif;font-size:20px}
.brand-name{font-size:19px;letter-spacing:.06em}
.brand-sub{font-size:10px;letter-spacing:.14em;color:#b9c4bd}
.ver{background:var(--gold);color:#fff;font-size:10px;padding:1px 6px;border-radius:8px;letter-spacing:.08em}
.nav{display:flex;flex-direction:column;gap:4px}
.nav a{color:#dfe5da;text-decoration:none;padding:9px 12px;border-radius:8px}
.nav a:hover{background:#2e403c}
.nav a.on{background:var(--celadon);color:#fff}
.side-foot{margin-top:auto;font-size:13px;color:#b9c4bd}
.side-foot .logout{color:#f0d9a8}
.foot-note{margin-top:10px;font-size:11px;color:#7e8f88}
.main{flex:1;padding:26px 30px 40px;min-width:0}
.topbar,.tabrow{display:none}
.page-title{font-size:26px;margin:2px 0 18px;letter-spacing:.04em}
.flash{background:#eef5ec;border:1px solid #b9d2b2;color:#33512c;padding:10px 14px;border-radius:8px;margin-bottom:14px}
.notice{background:#fdf3e0;border:1px solid #e3c98f;color:#6b5312;padding:10px 14px;border-radius:8px;margin-bottom:14px}
.cards{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:22px}
.stat{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--celadon);border-radius:10px;padding:16px}
.stat.warn{border-left-color:var(--gold)} .stat.bad{border-left-color:var(--red)}
.stat .k{color:var(--ink2);font-size:13px}
.stat .v{font-size:25px;font-family:"Noto Serif TC",serif;margin:4px 0}
.stat .n{color:var(--ink2);font-size:12px}
table.grid{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--line);border-radius:10px;overflow:hidden}
table.grid th,table.grid td{padding:9px 12px;border-bottom:1px solid #eee4cf;text-align:left;vertical-align:top}
table.grid th{background:var(--paper2);font-weight:600;font-size:13px}
td.r,th.r{text-align:right}
.badge{display:inline-block;padding:1px 9px;border-radius:10px;font-size:12px;background:#e8e2d0;color:#5c5540}
.badge.shipped{background:#dcebe8;color:#2e5a57}.badge.paid{background:#e2efd9;color:#38602c}
.badge.billed{background:#f3e5c3;color:#7a5a14}.badge.void{background:#eee;color:#888}
.badge.overdue{background:#f6dcd6;color:#93331f}
.btn{display:inline-block;background:var(--celadon);color:#fff;border:0;border-radius:8px;padding:8px 16px;font-size:14px;cursor:pointer;text-decoration:none}
.btn:hover{background:var(--celadon-d)}
.btn.gold{background:var(--gold)} .btn.ghost{background:#fff;color:var(--celadon-d);border:1px solid var(--celadon)}
.btn.danger{background:var(--red)} .btn.sm{padding:4px 10px;font-size:13px}
.btn[disabled]{opacity:.45;cursor:not-allowed}
form.panel,.panel{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:18px}
label.f{display:block;margin-bottom:12px;font-size:13px;color:var(--ink2)}
label.f input,label.f select,label.f textarea{display:block;width:100%;margin-top:4px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-size:15px;color:var(--ink);background:#fff}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.row3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px}
.toolbar{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.toolbar form{display:flex;gap:8px;flex-wrap:wrap}
.toolbar input,.toolbar select{padding:7px 9px;border:1px solid var(--line);border-radius:6px;background:#fff}
.site-foot{padding:14px 20px 22px;color:var(--ink2);font-size:12px;text-align:center;line-height:1.7}
.site-foot .foot-ver{letter-spacing:.08em}
.site-foot .copy span{display:inline-block;white-space:nowrap}
.main h2{font-size:20px;margin:22px 0 10px;letter-spacing:.04em}
table.grid td[colspan]{text-align:center;color:var(--ink2);padding:18px 12px}
.center-box{max-width:440px;margin:10vh auto;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:28px}
.itemrow{display:grid;grid-template-columns:2fr 1fr .6fr 1fr 1fr auto;gap:8px;margin-bottom:8px}
.itemrow input,.itemrow select{padding:7px 9px;border:1px solid var(--line);border-radius:6px;width:100%;background:#fff}
.kv{display:grid;grid-template-columns:110px 1fr;gap:6px 14px}
.kv dt{color:var(--ink2)} .kv dd{margin:0}
.perm-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px 14px}
.perm-grid label{font-size:14px;color:var(--ink)}
/* 全站質感：柔和陰影與輸入聚焦 */
.stat,.panel,form.panel,table.grid{box-shadow:0 1px 3px rgba(47,58,56,.05)}
label.f input:focus,label.f select:focus,label.f textarea:focus,.toolbar input:focus,.toolbar select:focus{border-color:var(--celadon);box-shadow:0 0 0 3px rgba(91,133,131,.18);outline:none}
.btn{transition:background .15s ease,box-shadow .15s ease,transform .15s ease}
/* 登入頁（宋韻版框＋置中卡） */
.login-page{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:30px 18px;
  background:radial-gradient(1100px 520px at 50% -8%,#fffdf6 0%,rgba(255,253,246,0) 60%),linear-gradient(180deg,#f8f3ea 0%,var(--paper) 55%,#f1e9da 100%)}
.login-frame{position:fixed;inset:12px;border:1px solid var(--line);outline:1px solid #e9dfc9;outline-offset:5px;pointer-events:none}
.login-card{position:relative;width:100%;max-width:400px;background:var(--card);border:1px solid var(--line);border-radius:14px;
  padding:42px 38px 28px;text-align:center;box-shadow:0 24px 60px rgba(47,58,56,.14),0 2px 8px rgba(47,58,56,.06)}
.login-seal{width:56px;height:56px;margin:0 auto 16px;background:var(--dark);color:#f0d9a8;border:1.5px solid var(--gold);border-radius:10px;
  display:flex;align-items:center;justify-content:center;font-family:"Noto Serif TC","Songti TC",serif;font-size:27px}
.login-title{font-size:28px;letter-spacing:.14em;text-indent:.14em;margin:0 0 8px}
.login-sub{font-size:11px;letter-spacing:.22em;color:var(--ink2);margin:0}
.login-verrow{margin-top:10px}
.login-rule{display:flex;align-items:center;gap:10px;margin:20px 6px 22px}
.login-rule::before,.login-rule::after{content:"";flex:1;border-top:1px solid var(--line)}
.login-rule span{width:7px;height:7px;background:var(--gold);transform:rotate(45deg);flex:0 0 7px}
.login-card form{text-align:left}
.login-card label.f{margin-bottom:14px}
.login-card label.f input{padding:12px 14px;border-radius:8px;background:#fff}
.login-btn{width:100%;padding:13px;font-size:15px;letter-spacing:.34em;text-indent:.34em;border-radius:9px;margin-top:4px;
  background:linear-gradient(180deg,var(--celadon) 0%,var(--celadon-d) 100%);box-shadow:0 8px 18px rgba(63,102,100,.28)}
.login-btn:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(63,102,100,.32)}
.login-foot{margin:22px 0 0;padding-top:16px;border-top:1px solid #eee4cf;font-size:11.5px;color:#8a968f;line-height:1.8}
.login-foot span{display:inline-block;white-space:nowrap}
@media (max-width:900px){
  .shell{min-height:0}
  .cards{grid-template-columns:1fr 1fr}
  .side{display:none}
  .main{padding:16px 14px 24px}
  .site-foot{padding:10px 14px 18px}
  .main h2{font-size:19px;margin:18px 0 8px}
  .topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
  .topbar-title{font-family:"Noto Serif TC",serif;font-size:18px}
  .tabrow{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:16px}
  .tabrow a{text-align:center;background:var(--card);border:1px solid var(--line);color:var(--ink);text-decoration:none;padding:8px 4px;border-radius:8px;font-size:14px}
  .tabrow a.on{background:var(--celadon);color:#fff;border-color:var(--celadon)}
  .row2,.row3{grid-template-columns:1fr}
  .itemrow{grid-template-columns:1fr 1fr}
  .perm-grid{grid-template-columns:1fr 1fr}
  table.grid{font-size:13px}
  table.grid th,table.grid td{padding:7px 8px}
  table.grid td a{word-break:break-all}
  table.grid td.r,table.grid th.r{white-space:nowrap}
  .login-frame{inset:8px}
  .login-card{padding:34px 24px 24px}
  .login-title{font-size:25px}
}
@media print{
  .side,.topbar,.tabrow,.no-print,.site-foot{display:none!important}
  body{background:#fff}.main{padding:0}
}

/* 品牌 logo 圖（彭木生 PenG 原稿） */
.brand-logo-img{height:66px;width:auto;flex:none}
.login-logo{display:block;height:126px;width:auto;margin:6px auto 16px}
.login-ver{margin:10px 0 0;font-size:11px;color:#8a968f;letter-spacing:.08em}
.same-addr{display:flex;gap:8px;align-items:center;font-size:14px;color:var(--ink);margin:2px 0 12px;cursor:pointer}
.same-addr input{width:17px;height:17px;accent-color:var(--celadon)}
