:root{
  --primary:#007aff;
  --primary-dark:#0066d6;
  --success:#34c759;
  --warning:#ff9500;
  --danger:#ff3b30;
  --purple:#af52de;
  --text:#1d1d1f;
  --muted:#6e6e73;
  --secondary:#86868b;
  --line:rgba(60,60,67,.16);
  --line-strong:rgba(60,60,67,.28);
  --bg:#f5f5f7;
  --card:rgba(255,255,255,.92);
  --fill:#f2f2f7;
  --fill-strong:#e9e9ef;
  --shadow:0 1px 2px rgba(0,0,0,.04),0 10px 30px rgba(0,0,0,.06);
}
*{letter-spacing:0!important;}
html{background:var(--bg);}
body{
  background:var(--bg)!important;
  color:var(--text)!important;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","SF Pro Display","Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif!important;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.header{
  background:rgba(245,245,247,.82)!important;
  color:var(--text)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:none!important;
  backdrop-filter:saturate(180%) blur(18px);
  -webkit-backdrop-filter:saturate(180%) blur(18px);
}
.header h1{color:var(--text)!important;font-weight:700!important;}
.header .back{color:var(--primary)!important;font-weight:600!important;}
.tab-bar{
  background:rgba(255,255,255,.78)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:none!important;
  overflow-x:auto;
  scrollbar-width:none;
  backdrop-filter:saturate(180%) blur(16px);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
}
.tab-bar::-webkit-scrollbar{display:none;}
.tab{min-width:88px;white-space:nowrap;color:var(--muted)!important;font-weight:600!important;border-bottom:2px solid transparent!important;}
.tab.active{color:var(--primary)!important;border-bottom-color:var(--primary)!important;background:transparent!important;}
.search-bar{gap:8px!important;padding:10px 12px!important;background:rgba(255,255,255,.82)!important;border-bottom:1px solid var(--line)!important;}
button,.btn,.search-bar button,.modal .btns button,.pwd-card button,.backup-card button,.manual-backup,.save-bar button{
  border-radius:10px!important;
  border:0!important;
  min-height:36px;
  font-weight:650!important;
  letter-spacing:0!important;
  box-shadow:none!important;
  transition:background-color .15s ease,filter .12s ease,transform .08s ease,opacity .12s ease;
}
button:active,.btn:active{transform:scale(.985);filter:brightness(.97);}
.btn-primary,.search-bar button,.modal .confirm,.save-bar button{background:var(--primary)!important;color:#fff!important;}
.btn-purple{background:var(--purple)!important;color:#fff!important;}
.btn-green,.btn-success{background:var(--success)!important;color:#fff!important;}
.btn-warning{background:var(--warning)!important;color:#fff!important;}
.btn-danger{background:var(--danger)!important;color:#fff!important;}
.btn-muted,.modal .cancel{
  background:var(--fill)!important;
  color:var(--text)!important;
  border:1px solid var(--line)!important;
}
input,select,textarea{
  border:1px solid var(--line)!important;
  border-radius:10px!important;
  background:rgba(255,255,255,.92)!important;
  color:var(--text)!important;
  outline:none!important;
  box-shadow:none!important;
}
input::placeholder,textarea::placeholder{color:#a1a1a6!important;}
input:focus,select:focus,textarea:focus{
  border-color:var(--primary)!important;
  box-shadow:0 0 0 4px rgba(0,122,255,.14)!important;
}
.overlay{background:rgba(0,0,0,.24)!important;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);}
.modal{
  width:min(92vw,380px)!important;
  border-radius:18px!important;
  background:rgba(255,255,255,.96)!important;
  border:1px solid rgba(255,255,255,.7)!important;
  box-shadow:0 28px 80px rgba(0,0,0,.22)!important;
  padding:24px!important;
}
.modal .title{font-size:19px!important;color:var(--text)!important;font-weight:700!important;}
.modal .subtitle{line-height:1.55;color:var(--muted)!important;}
.toast{
  top:auto!important;
  bottom:26px!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  background:rgba(29,29,31,.9)!important;
  color:#fff!important;
  border-radius:999px!important;
  max-width:86vw;
  text-align:center;
  box-shadow:0 14px 40px rgba(0,0,0,.24)!important;
  backdrop-filter:blur(12px);
  -webkit-backdrop-filter:blur(12px);
}
.table-wrap{
  border:1px solid var(--line)!important;
  border-radius:12px!important;
  background:var(--card)!important;
  overflow:auto!important;
  box-shadow:0 1px 0 rgba(0,0,0,.02)!important;
}
table{border-collapse:separate!important;border-spacing:0;font-size:12px!important;background:transparent!important;}
th{
  background:rgba(242,242,247,.92)!important;
  color:var(--secondary)!important;
  font-weight:700!important;
  position:sticky;
  top:0;
  z-index:1;
}
th,td{padding:9px 11px!important;border-bottom:1px solid var(--line)!important;font-size:12px!important;}
tr:last-child td{border-bottom:0!important;}
tr:hover td{background:rgba(0,122,255,.035)!important;}
.count-bar{background:transparent!important;color:var(--muted)!important;padding:8px 4px!important;border-bottom:0!important;}
.empty-msg,.loading{color:var(--muted)!important;}
.panel,.ui-card,.pwd-card,.backup-card{
  background:var(--card)!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  box-shadow:var(--shadow)!important;
}
.notice{
  background:rgba(0,122,255,.08)!important;
  border:1px solid rgba(0,122,255,.18)!important;
  color:#004a99!important;
  border-radius:14px!important;
  padding:12px 14px!important;
  font-size:13px!important;
  line-height:1.65!important;
}
.notice.warn{
  background:rgba(255,149,0,.1)!important;
  border-color:rgba(255,149,0,.24)!important;
  color:#8a4b00!important;
}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.metric{
  background:rgba(255,255,255,.9)!important;
  border:1px solid var(--line)!important;
  border-radius:14px!important;
  padding:12px 10px!important;
  text-align:center;
  box-shadow:0 1px 0 rgba(0,0,0,.02)!important;
}
.metric strong{display:block;font-size:23px;line-height:1.05;font-weight:750;}
.metric span{display:block;margin-top:5px;font-size:11px;color:var(--muted);}
.action-link{font-size:12px;font-weight:650;cursor:pointer;margin-right:10px;}
.action-link.primary{color:var(--primary)!important;}.action-link.warn{color:var(--warning)!important;}.action-link.danger{color:var(--danger)!important;}.action-link.muted{color:var(--muted)!important;}
.tag{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  padding:0 8px;
  margin:2px 4px 2px 0;
  border-radius:999px;
  font-size:12px;
  font-weight:650;
  background:var(--fill);
  color:var(--text);
}
.tag.warn{background:rgba(255,149,0,.14);color:#9a5a00;}
.draft-bar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  background:rgba(255,149,0,.1)!important;
  border:1px solid rgba(255,149,0,.24)!important;
  color:#8a4b00!important;
  border-radius:14px!important;
  padding:10px 12px!important;
  margin-bottom:10px!important;
  font-size:13px!important;
}
.draft-bar button{background:rgba(255,255,255,.85)!important;color:#8a4b00!important;border:1px solid rgba(255,149,0,.28)!important;min-height:30px;padding:0 10px;}
.status-ok{color:var(--success)!important;}.status-warn{color:var(--warning)!important;}.status-empty{color:var(--danger)!important;}
.save-bar{background:rgba(255,255,255,.84)!important;border-top:1px solid var(--line)!important;backdrop-filter:saturate(180%) blur(16px);-webkit-backdrop-filter:saturate(180%) blur(16px);}
#pwdGate{background:linear-gradient(180deg,#fbfbfd 0%,#f5f5f7 100%)!important;}
#pwdGate>div{border-radius:22px!important;box-shadow:var(--shadow)!important;border:1px solid rgba(60,60,67,.12)!important;}
@media (max-width:640px){
  .metric-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
  .search-bar input[type="date"]{width:calc(50% - 18px)!important;}
  .search-bar button{flex:1;min-width:72px;}
  th,td{padding:9px 8px!important;}
  .header{padding-top:16px!important;padding-bottom:16px!important;}
}

/* Apple-style finishing pass for operational screens */
.container{max-width:440px!important;padding:18px!important;padding-bottom:76px!important;}
.login-card,.material-card,.op-section,.result-box{
  background:rgba(255,255,255,.94)!important;
  border:1px solid var(--line)!important;
  border-radius:18px!important;
  box-shadow:var(--shadow)!important;
}
.login-card{padding:26px 22px!important;margin-top:10px!important;}
.login-card .title{font-size:22px!important;font-weight:750!important;color:var(--text)!important;margin-bottom:18px!important;}
.role-list{gap:10px!important;}
.role-btn{
  justify-content:space-between!important;
  min-height:54px!important;
  padding:0 16px!important;
  border-radius:14px!important;
  border:1px solid var(--line)!important;
  background:rgba(255,255,255,.9)!important;
  color:var(--text)!important;
  font-size:16px!important;
  font-weight:650!important;
  box-shadow:0 1px 0 rgba(0,0,0,.02)!important;
}
.role-btn::after{content:›;font-size:24px;line-height:1;color:#c7c7cc;font-weight:400;}
.role-btn.out{border-color:rgba(255,59,48,.2)!important;color:var(--danger)!important;background:rgba(255,59,48,.045)!important;}
.role-btn.admin{border-color:rgba(52,199,89,.22)!important;color:#21883f!important;background:rgba(52,199,89,.06)!important;}
.material-card .code{color:var(--muted)!important;font-size:12px!important;}
.material-card .name{color:var(--text)!important;font-size:22px!important;font-weight:750!important;}
.material-card .info{gap:8px!important;}
.material-card .tag{border-radius:999px!important;background:var(--fill)!important;color:var(--muted)!important;padding:4px 9px!important;font-weight:650!important;}
.material-card .tag.cat{background:rgba(0,122,255,.1)!important;color:var(--primary)!important;}
.material-card .tag.loc{background:rgba(255,149,0,.12)!important;color:#9a5a00!important;}
.material-card .stock-info{border-top:1px solid var(--line)!important;}
.op-section label{color:var(--muted)!important;font-weight:650!important;}
.op-header .role-tag{border-radius:999px!important;padding:4px 10px!important;font-weight:700!important;}
.op-header .role-tag.out{background:rgba(255,59,48,.12)!important;color:var(--danger)!important;}
.op-header .role-tag.in{background:rgba(52,199,89,.13)!important;color:#21883f!important;}
.op-header .role-tag.super{background:rgba(175,82,222,.13)!important;color:var(--purple)!important;}
.op-header .logout{color:var(--primary)!important;font-weight:650!important;}
.quantity-input{
  border:1px solid var(--line)!important;
  border-radius:16px!important;
  background:var(--fill)!important;
  overflow:hidden!important;
}
.quantity-input button{background:transparent!important;color:var(--primary)!important;font-weight:500!important;}
.quantity-input input{background:#fff!important;color:var(--text)!important;border-left:1px solid var(--line)!important;border-right:1px solid var(--line)!important;}
.remark-input{border-radius:14px!important;background:rgba(255,255,255,.9)!important;}
.submit-btn{border-radius:14px!important;min-height:50px!important;font-size:17px!important;font-weight:750!important;box-shadow:none!important;}
.submit-btn.out{background:var(--danger)!important;}.submit-btn.in{background:var(--success)!important;}
.bottom-entry{
  bottom:18px!important;
  border-radius:999px!important;
  border:1px solid var(--line)!important;
  background:rgba(255,255,255,.82)!important;
  color:var(--muted)!important;
  box-shadow:0 8px 24px rgba(0,0,0,.08)!important;
  backdrop-filter:saturate(180%) blur(16px);
  -webkit-backdrop-filter:saturate(180%) blur(16px);
}
.bottom-entry.right{color:var(--primary)!important;}
.result-box{border-radius:22px!important;box-shadow:0 28px 80px rgba(0,0,0,.22)!important;}
.result-box .msg{color:var(--text)!important;font-weight:750!important;}
.result-box .detail{color:var(--muted)!important;}
.result-box .close-btn{border-radius:12px!important;background:var(--fill)!important;color:var(--text)!important;border:1px solid var(--line)!important;font-weight:650!important;}
.content{padding:14px!important;}
#dataContent,#content,#checkContent{background:transparent!important;}
.pwd-card,.backup-card{margin-bottom:10px!important;padding:14px!important;}
.pwd-card .name{font-weight:700!important;color:var(--text)!important;}
.pwd-card .role,.backup-card .date{color:var(--muted)!important;}
input[type="date"]{min-width:132px;}
@media (max-width:640px){
  .container{padding:14px!important;padding-bottom:76px!important;}
  .login-card,.material-card,.op-section{border-radius:16px!important;}
  .role-btn{min-height:52px!important;}
  .content{padding:12px!important;}
}
