/* WineDate shared skin v2 */
:root{
  --primary:#76223B;
  --primary-2:#8E3147;
  --primary-soft:#F7E9EC;
  --accent:#2F5D50;
  --accent-soft:#E4EFEA;
  --bg:#F6F1EC;
  --bg-soft:#FCF9F6;
  --card:#FFFFFF;
  --card-soft:#FFFDFB;
  --border:#E6D9CF;
  --border-strong:#D7C6BA;
  --text:#221815;
  --text-2:#5E4C46;
  --text-muted:#8B7A73;
  --shadow:0 12px 28px rgba(54,33,24,.07);
  --shadow-md:0 18px 40px rgba(54,33,24,.10);
  --shadow-lg:0 28px 64px rgba(54,33,24,.16);
  --content-width:min(1240px, calc(100% - 56px));
}

html{
  background:
    radial-gradient(circle at top left, rgba(118,34,59,.12), transparent 26%),
    radial-gradient(circle at 100% 0, rgba(47,93,80,.10), transparent 22%),
    linear-gradient(180deg, #FBF8F4 0%, var(--bg) 42%, #F2ECE6 100%);
}

body{
  position:relative;
  isolation:isolate;
  overflow-x:hidden;
  background:transparent;
}

body::before,
body::after{
  content:"";
  position:fixed;
  pointer-events:none;
  z-index:-1;
  border-radius:999px;
  filter:blur(2px);
  opacity:.75;
}

body::before{
  width:420px;
  height:420px;
  top:-170px;
  right:-140px;
  background:radial-gradient(circle, rgba(118,34,59,.18) 0%, rgba(118,34,59,.08) 42%, transparent 72%);
}

body::after{
  width:520px;
  height:520px;
  bottom:-240px;
  left:-180px;
  background:radial-gradient(circle, rgba(47,93,80,.14) 0%, rgba(47,93,80,.06) 38%, transparent 72%);
}

.topnav-container,
.app-body,
.main,
.tab-bar{
  width:var(--content-width) !important;
}

.topnav-container{
  background:rgba(255,252,250,.88) !important;
  border:1px solid rgba(214,198,187,.74) !important;
  box-shadow:var(--shadow) !important;
  backdrop-filter:blur(18px);
}

.topnav-logo img{
  height:62px !important;
}

.mobile-nav-brand img{
  height:38px !important;
}

.topnav-link{
  border:1px solid transparent;
  transition:background-color .16s ease, color .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.topnav-link:hover{
  border-color:rgba(118,34,59,.12);
  box-shadow:0 4px 10px rgba(118,34,59,.05);
}

.topnav-link.active{
  border-color:rgba(118,34,59,.12);
  box-shadow:0 8px 20px rgba(118,34,59,.08);
}

.header{
  background:rgba(255,252,250,.88) !important;
  border:1px solid rgba(214,198,187,.72) !important;
  box-shadow:var(--shadow) !important;
  backdrop-filter:blur(18px);
}

.page-title,
.section-title{
  display:inline-flex;
  align-items:center;
  gap:10px;
  letter-spacing:-.03em;
}

.page-title::before,
.section-title::before{
  content:"";
  width:10px;
  height:10px;
  flex:0 0 10px;
  border-radius:999px;
  background:linear-gradient(135deg, var(--primary), #C67A66);
  box-shadow:0 0 0 4px rgba(118,34,59,.08);
}

.section-title{
  font-weight:700 !important;
}

.section-title svg,
.page-title svg{
  flex:0 0 auto;
}

.main{
  padding:28px 0 36px !important;
}

.section-card,
.table-wrap,
.log-left,
.log-right,
.hero,
.auth-card,
.modal,
.entry-button,
.kpi-card,
.req-count-card{
  border:1px solid rgba(214,198,187,.68) !important;
  box-shadow:var(--shadow) !important;
}

.section-card,
.table-wrap,
.log-left,
.log-right,
.hero,
.auth-card,
.modal,
.entry-button{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,251,248,.97)) !important;
}

.section-card{
  position:relative;
  overflow:hidden;
  border-radius:26px !important;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.section-card::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:4px;
  background:linear-gradient(90deg, var(--primary), #A25444 50%, var(--accent));
}

.section-card:hover{
  transform:translateY(-2px);
  box-shadow:var(--shadow-md) !important;
}

.section-header{
  padding:20px 28px !important;
}

.section-badge{
  background:linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  box-shadow:0 8px 18px rgba(118,34,59,.16);
}

.tab-bar{
  gap:6px;
  padding:6px !important;
  margin-bottom:16px !important;
  border:1px solid rgba(214,198,187,.68);
  border-radius:18px;
  background:rgba(255,252,250,.76);
  box-shadow:var(--shadow);
  backdrop-filter:blur(10px);
}

.tab-btn{
  border-radius:12px;
  border:none !important;
  margin-bottom:0 !important;
  padding:10px 16px !important;
}

.tab-btn.active{
  background:linear-gradient(135deg, var(--primary-soft), #F9F1ED) !important;
  box-shadow:0 8px 18px rgba(118,34,59,.08);
}

.btn{
  border:1px solid transparent;
  border-radius:14px !important;
  text-decoration:none;
  min-height:0;
  box-sizing:border-box;
  flex-shrink:0;
  appearance:none;
  -webkit-appearance:none;
  vertical-align:middle;
  overflow:visible;
  transition:transform .15s ease, box-shadow .15s ease, background-color .15s ease, border-color .15s ease, color .15s ease;
}

button{
  font:inherit;
  line-height:1;
  box-sizing:border-box;
  appearance:none;
  -webkit-appearance:none;
}

.btn:hover{
  transform:translateY(-1px);
}

.btn-primary{
  background:linear-gradient(135deg, var(--primary), var(--primary-2)) !important;
  box-shadow:0 12px 24px rgba(118,34,59,.18) !important;
}

.btn-outline{
  background:rgba(255,255,255,.88) !important;
}

.btn-ghost{
  background:rgba(255,255,255,.72) !important;
  border-color:rgba(118,34,59,.18) !important;
}

.btn-danger-ghost{
  background:#FFF5F6 !important;
}

.btn-icon{
  border-radius:12px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(214,198,187,.92) !important;
  box-sizing:border-box;
  flex-shrink:0;
  appearance:none;
  -webkit-appearance:none;
  vertical-align:middle;
  overflow:visible;
}

.btn-icon:hover{
  box-shadow:0 8px 18px rgba(118,34,59,.08);
}

.badge{
  border:1px solid rgba(0,0,0,.04);
  border-radius:999px !important;
  padding:4px 10px !important;
}

.table-wrap{
  border-radius:24px !important;
  overflow:hidden;
  padding:0 0 10px !important;
}

table{
  border-collapse:separate !important;
  border-spacing:0;
}

th{
  background:#FBF6F2 !important;
  color:#7C6A63 !important;
}

tbody tr:hover td{
  background:#FCF5F0 !important;
}

td{
  border-bottom:1px solid rgba(230,217,207,.95) !important;
}

.search-input,
.filter-select,
.form-input,
.form-select{
  border-radius:12px !important;
  border:1.5px solid rgba(214,198,187,.92) !important;
  background:rgba(255,255,255,.94) !important;
}

.search-input:focus,
.filter-select:focus,
.form-input:focus,
.form-select:focus{
  border-color:var(--primary) !important;
  box-shadow:0 0 0 3px rgba(118,34,59,.10) !important;
}

.modal-overlay{
  background:rgba(23,18,17,.48) !important;
  backdrop-filter:blur(4px);
}

.modal{
  overflow:hidden;
  border-radius:28px !important;
  position:relative;
}

.modal::before{
  content:"";
  position:absolute;
  inset:0 auto auto 0;
  width:100%;
  height:5px;
  background:linear-gradient(90deg, var(--primary), #B76F5B 55%, var(--accent));
}

.modal-header,
.modal-footer{
  background:rgba(255,252,250,.96) !important;
}

.toast{
  border-radius:14px !important;
  box-shadow:var(--shadow-md) !important;
}

.loading-overlay{
  background:rgba(255,255,255,.82) !important;
  backdrop-filter:blur(3px);
}

.auth-screen{
  background:
    radial-gradient(circle at top left, rgba(118,34,59,.10), transparent 28%),
    linear-gradient(180deg, #FBF8F4 0%, #F4EDE6 100%) !important;
}

.auth-card{
  border-radius:30px !important;
}

.kpi-card{
  position:relative;
  overflow:hidden;
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,250,246,.97)) !important;
  border-radius:24px !important;
}

.kpi-card::after{
  content:"";
  position:absolute;
  right:-48px;
  top:-48px;
  width:140px;
  height:140px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(118,34,59,.10) 0%, rgba(118,34,59,.04) 40%, transparent 70%);
}

.kpi-card-icon{
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.72);
}

.kpi-label{
  letter-spacing:.01em;
}

.hero{
  border-radius:30px !important;
  position:relative;
  overflow:hidden;
}

.hero::before{
  content:"";
  position:absolute;
  inset:auto -120px -120px auto;
  width:320px;
  height:320px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(47,93,80,.12) 0%, rgba(47,93,80,.04) 34%, transparent 70%);
}

.entry-button{
  position:relative;
  border-radius:24px !important;
  overflow:hidden;
}

.entry-button::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(135deg, rgba(118,34,59,.06), rgba(47,93,80,.04));
  opacity:.55;
}

.entry-button > *{
  position:relative;
  z-index:1;
}

.entry-button:hover{
  transform:translateY(-4px) !important;
  box-shadow:0 22px 42px rgba(118,34,59,.12) !important;
}

.entry-kicker{
  letter-spacing:.08em;
}

.req-count-card{
  border-radius:16px !important;
  background:linear-gradient(180deg, #FFFDFB, #FBF4F0) !important;
}

.req-quick-btn{
  border-radius:999px !important;
}

.no-gas-banner{
  border-radius:18px !important;
  background:linear-gradient(135deg, #FFF4F4, #FFFDFB) !important;
  border-color:#E7BAC0 !important;
}

.saving-bar{
  background:linear-gradient(90deg, var(--primary), #C47B63, var(--accent)) !important;
}

.mobile-nav-drawer{
  background:linear-gradient(180deg, rgba(255,255,255,.99), rgba(255,251,248,.99)) !important;
}

.mobile-nav-link{
  border:1px solid rgba(214,198,187,.58) !important;
}

.mobile-nav-link.active{
  box-shadow:0 10px 20px rgba(118,34,59,.08);
}

.mobile-nav-foot{
  background:linear-gradient(180deg, transparent, rgba(118,34,59,.03));
}

.home-shell{
  display:grid;
  gap:24px;
}

.home-hero{
  position:relative;
  overflow:hidden;
  padding:0;
  border:none;
  border-radius:32px;
  background:transparent;
  box-shadow:none;
}

.home-hero-inner{
  position:relative;
  z-index:1;
  display:grid;
  gap:18px;
  grid-template-columns:1fr;
  align-items:stretch;
}

.home-hero-copy{
  display:block;
  position:relative;
  height:clamp(260px, 25vw, 320px);
  min-height:0;
  padding:0;
  border-radius:32px;
  overflow:hidden;
  background:transparent;
  align-self:stretch;
}

.home-hero-art{
  display:block;
  width:100%;
  height:100%;
  min-height:0;
  object-fit:cover;
  object-position:center center;
  transform:none;
  transform-origin:center center;
}

.home-meta-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}

.home-meta-title-wrap{
  display:flex;
  align-items:center;
  gap:12px;
}

.home-meta-horn{
  width:38px;
  height:38px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:rgba(122,36,59,.08);
  color:var(--primary);
}

.home-meta-caption,
.home-meta-link{
  font-size:12px;
  color:var(--text-muted);
}

.home-meta-label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.12em;
  color:var(--text);
}

.home-notice-list{
  display:grid;
  gap:4px;
}

.home-notice-item{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px 0;
  border-top:1px solid rgba(214,198,187,.5);
}

.home-notice-item:first-child{
  border-top:none;
  padding-top:0;
}

.home-notice-main{
  min-width:0;
  display:flex;
  align-items:flex-start;
  gap:10px;
}

.home-notice-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:7px 10px;
  border-radius:12px;
  background:linear-gradient(180deg, rgba(248,235,239,.92), rgba(255,245,246,.92));
  color:var(--primary);
  font-size:12px;
  font-weight:700;
  white-space:nowrap;
}

.home-notice-text{
  font-size:14px;
  line-height:1.65;
  color:var(--text-2);
}

.home-notice-meta{
  flex:0 0 auto;
  font-size:12px;
  color:var(--text-muted);
  white-space:nowrap;
}

.home-grid{
  display:grid;
  gap:20px;
  grid-template-columns:repeat(4, minmax(0, 1fr));
}

@media (max-width: 1180px){
  .home-hero-inner{
    grid-template-columns:1fr;
  }

  .home-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

.home-entry{
  position:relative;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  min-height:228px;
  padding:26px 24px 22px;
  border:1px solid rgba(214,198,187,.72);
  border-radius:28px;
  background:linear-gradient(180deg, rgba(255,255,255,.99) 0%, rgba(255,250,246,.97) 100%);
  box-shadow:var(--shadow);
  color:var(--text);
  text-decoration:none;
  overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.home-entry::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg, rgba(118,34,59,.05), rgba(47,93,80,.02)),
    linear-gradient(180deg, transparent 0%, rgba(131,95,59,.05) 100%);
}

.home-entry > *{
  position:relative;
  z-index:1;
}

.home-entry:hover{
  transform:translateY(-4px);
  box-shadow:0 24px 42px rgba(54,33,24,.12);
  border-color:rgba(118,34,59,.24);
}

.home-entry-top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.home-entry-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--text-muted);
}

.home-entry-body{
  margin-top:18px;
}

.home-entry-spot{
  width:74px;
  height:74px;
  border-radius:26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.82);
}

.home-entry-spot-shipment{
  background:linear-gradient(135deg, rgba(244,228,232,.94), rgba(255,247,248,.92));
  color:var(--primary);
}

.home-entry-spot-inventory{
  background:linear-gradient(135deg, rgba(228,239,234,.98), rgba(245,250,247,.94));
  color:var(--accent);
}

.home-entry-spot-picking{
  background:linear-gradient(135deg, rgba(248,237,220,.98), rgba(255,250,243,.94));
  color:#C97E18;
}

.home-entry-spot-storage{
  background:linear-gradient(135deg, rgba(239,232,247,.98), rgba(250,246,255,.94));
  color:#6A4B95;
}

.home-entry-title{
  margin-top:10px;
  font-family:'Newsreader','Noto Sans TC',sans-serif;
  font-size:27px;
  line-height:1.12;
  letter-spacing:-.04em;
}

.home-entry-desc{
  margin-top:12px;
  font-size:14px;
  line-height:1.7;
  color:var(--text-2);
}

.home-entry-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-top:20px;
  font-size:13px;
  font-weight:600;
  color:var(--primary);
}

.home-entry-icon{
  width:46px;
  height:46px;
  border-radius:16px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--primary-soft), rgba(255,255,255,.8));
  color:var(--primary);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.82);
}

.more-links{
  display:grid;
  gap:12px;
}

.more-link{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:16px 18px;
  border:1px solid rgba(214,198,187,.72);
  border-radius:18px;
  background:rgba(255,255,255,.88);
  text-decoration:none;
  color:var(--text);
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.more-link:hover{
  transform:translateY(-2px);
  border-color:rgba(118,34,59,.2);
  box-shadow:var(--shadow);
}

.more-link-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--text-muted);
}

.more-link-title{
  margin-top:4px;
  font-size:16px;
  font-weight:700;
  color:var(--text);
}

.more-link-desc{
  margin-top:3px;
  font-size:13px;
  color:var(--text-2);
}

.system-intro{
  display:grid;
  gap:18px;
  margin-bottom:18px;
}

.system-intro-hero{
  position:relative;
  overflow:hidden;
  padding:30px 32px;
  border:1px solid rgba(214,198,187,.72);
  border-radius:28px;
  background:
    radial-gradient(circle at top right, rgba(118,34,59,.08), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(255,250,246,.96) 60%, rgba(245,238,232,.94) 100%);
  box-shadow:var(--shadow);
}

.system-intro-hero::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-120px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(47,93,80,.12) 0%, rgba(47,93,80,.04) 40%, transparent 72%);
}

.system-intro-kicker{
  position:relative;
  z-index:1;
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--primary);
}

.system-intro-title{
  position:relative;
  z-index:1;
  margin-top:10px;
  font-family:'Newsreader','Noto Sans TC',sans-serif;
  font-size:42px;
  line-height:1.04;
  letter-spacing:-.04em;
  color:var(--text);
}

.system-intro-text{
  position:relative;
  z-index:1;
  max-width:760px;
  margin-top:12px;
  font-size:15px;
  line-height:1.8;
  color:var(--text-2);
}

.system-intro-grid{
  display:grid;
  gap:14px;
  grid-template-columns:repeat(3, minmax(0, 1fr));
}

.system-intro-card{
  padding:18px 20px;
  border:1px solid rgba(214,198,187,.68);
  border-radius:22px;
  background:rgba(255,252,250,.86);
  box-shadow:var(--shadow);
}

.system-intro-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--text-muted);
}

.system-intro-card-title{
  margin-top:8px;
  font-size:18px;
  font-weight:700;
  color:var(--text);
}

.system-intro-card-text{
  margin-top:6px;
  font-size:13px;
  line-height:1.7;
  color:var(--text-2);
}

.system-section-copy{
  display:grid;
  gap:6px;
}

.system-section-text{
  font-size:13px;
  line-height:1.7;
  color:var(--text-muted);
}

.system-log-note{
  padding:0 22px 16px;
  font-size:13px;
  line-height:1.7;
  color:var(--text-muted);
}

#modulesContent{
  padding:10px 0 12px;
}

#modulesContent > div{
  margin:0 16px 10px;
  border:1px solid rgba(214,198,187,.68);
  border-radius:20px;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,248,.96));
  box-shadow:var(--shadow);
}

#permAddModList,
#permDelModList{
  border:1px solid rgba(214,198,187,.76) !important;
  border-radius:16px !important;
  background:rgba(255,252,250,.82);
}

#permAddModList label,
#permDelModList label{
  padding:8px 0 !important;
}

.work-hero{
  position:relative;
  overflow:hidden;
  padding:32px 34px;
  border:1px solid rgba(214,198,187,.72);
  border-radius:30px;
  background:
    radial-gradient(circle at top right, rgba(118,34,59,.08), transparent 30%),
    linear-gradient(135deg, rgba(255,255,255,.98) 0%, rgba(255,249,245,.96) 58%, rgba(244,237,231,.94) 100%);
  box-shadow:var(--shadow);
  margin-bottom:18px;
}

.work-hero::after{
  content:"";
  position:absolute;
  right:-90px;
  bottom:-110px;
  width:260px;
  height:260px;
  border-radius:999px;
  background:radial-gradient(circle, rgba(47,93,80,.12) 0%, rgba(47,93,80,.04) 42%, transparent 72%);
}

.work-hero-content{
  position:relative;
  z-index:1;
  display:grid;
  gap:10px;
}

.work-hero-kicker{
  font-size:12px;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--primary);
}

.work-hero-title{
  font-family:'Newsreader','Noto Sans TC',sans-serif;
  font-size:42px;
  line-height:1.04;
  letter-spacing:-.04em;
  color:var(--text);
}

.work-hero-text{
  max-width:760px;
  font-size:15px;
  line-height:1.8;
  color:var(--text-2);
}

.work-note-row{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:14px;
  margin-bottom:18px;
}

.work-note{
  padding:16px 18px;
  border:1px solid rgba(214,198,187,.68);
  border-radius:20px;
  background:rgba(255,252,250,.86);
  box-shadow:var(--shadow);
}

.work-note-label{
  font-size:11px;
  font-weight:700;
  letter-spacing:.14em;
  color:var(--text-muted);
}

.work-note-text{
  margin-top:6px;
  font-size:13px;
  line-height:1.7;
  color:var(--text-2);
}

.work-shell{
  display:grid;
  gap:18px;
}

.erp-stage-note{
  margin-top:16px;
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(214,198,187,.68);
  background:rgba(255,252,250,.84);
  font-size:13px;
  line-height:1.7;
  color:var(--text-2);
}

.requests-shell{
  display:grid;
  gap:18px;
}

.requests-panel{
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(255,251,249,.98));
  border-radius:26px;
  border:1px solid rgba(214,198,187,.68);
  box-shadow:var(--shadow);
  overflow:hidden;
}

.requests-panel-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:14px;
  padding:20px 24px 0;
  flex-wrap:wrap;
}

.requests-panel-copy{
  display:grid;
  gap:6px;
}

.requests-panel-title{
  font-size:24px;
  font-weight:700;
  letter-spacing:-.03em;
  color:var(--text);
}

.requests-panel-text{
  font-size:13px;
  line-height:1.7;
  color:var(--text-muted);
}

.requests-toolbar{
  margin:18px 24px;
}

.requests-table{
  border-top:1px solid rgba(214,198,187,.54);
  border-radius:0 !important;
  box-shadow:none !important;
  border-left:none !important;
  border-right:none !important;
  border-bottom:none !important;
  margin-top:0;
}

.inv-search-block{
  display:grid;
  gap:14px;
}

.inv-search-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.inv-secondary-row{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
  padding-top:12px;
  border-top:1px solid rgba(230,217,207,.95);
}

.inv-filter-note{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:12px 14px;
  border:1px solid rgba(214,198,187,.66);
  border-radius:16px;
  background:linear-gradient(135deg, rgba(255,252,250,.92), rgba(248,242,238,.88));
  font-size:13px;
  color:var(--text-2);
}

.inv-board{
  display:block;
  padding:0 18px 18px;
}

.inv-results-pane{
  min-width:0;
}

.inv-detail-drawer{
  display:none;
}

.inv-detail-drawer.is-empty{
  color:var(--text-muted);
}

.inv-detail-kicker{
  font-size:11px;
  font-weight:700;
  letter-spacing:.16em;
  color:var(--text-muted);
}

.inv-detail-title{
  font-family:'Newsreader','Noto Sans TC',sans-serif;
  font-size:30px;
  line-height:1.08;
  letter-spacing:-.04em;
  color:var(--text);
}

.inv-detail-meta{
  display:grid;
  gap:10px;
  margin-bottom:14px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}

.inv-detail-pill{
  padding:12px 14px;
  border-radius:16px;
  border:1px solid rgba(214,198,187,.7);
  background:#fffdfa;
}

.inv-detail-pill-label{
  font-size:16px;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--text-muted);
}

.inv-detail-pill-value{
  margin-top:4px;
  font-size:18px;
  font-weight:700;
  color:var(--text);
}

.inv-detail-locations{
  display:grid;
  gap:8px;
  margin-bottom:14px;
}

.inv-location-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px 14px;
  border-radius:16px;
  background:rgba(248,243,239,.94);
  border:1px solid rgba(214,198,187,.64);
}

.inv-location-code{
  font-size:13px;
  font-weight:700;
  color:var(--text);
}

.inv-location-qty{
  font-size:13px;
  color:var(--primary);
  font-weight:700;
}

.inv-detail-note{
  padding:14px 16px;
  border-radius:18px;
  border:1px solid rgba(214,198,187,.62);
  background:rgba(255,252,250,.92);
  font-size:13px;
  line-height:1.7;
  color:var(--text-2);
}

.inv-detail-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
}

.inv-row-active td{
  background:#FCF1F0 !important;
}

.inv-code{
  display:flex;
  flex-direction:column;
  gap:5px;
}

.inv-code-main{
  font-weight:700;
  font-family:monospace;
  color:var(--text);
}

.inv-code-sub{
  font-size:11px;
  letter-spacing:.08em;
  color:var(--text-muted);
}

.inv-name-cell{
  display:flex;
  flex-direction:column;
  gap:6px;
  min-width:0;
}

.inv-name-main{
  font-weight:700;
  color:var(--text);
  max-width:40ch;
  white-space:normal;
  overflow-wrap:break-word;
}

.inv-name-sub{
  font-size:16px;
  color:var(--text-muted);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  margin-bottom:10px;
}

.inv-qty-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:72px;
  padding:8px 12px;
  border-radius:999px;
  background:linear-gradient(135deg, rgba(118,34,59,.10), rgba(118,34,59,.04));
  color:var(--primary);
  font-weight:700;
}

.inv-location-chips{
  display:flex;
  gap:6px;
  flex-wrap:nowrap;
  align-items:center;
  overflow:hidden;
  min-width:0;
}

.inv-location-chip{
  display:inline-flex;
  align-items:center;
  flex:0 0 auto;
  white-space:nowrap;
  padding:5px 10px;
  border-radius:999px;
  background:#F8F1EC;
  color:var(--text-2);
  font-size:12px;
  font-weight:600;
}

.inv-action-group{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:nowrap;
  gap:6px;
  width:100%;
  margin-left:auto;
}

.inv-action-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0;
  min-height:36px;
  width:36px;
  min-width:36px;
  padding:0;
  border:1px solid rgba(214,198,187,.88);
  border-radius:12px;
  background:rgba(255,255,255,.92);
  color:var(--text-2);
  line-height:1;
  overflow:visible;
  box-sizing:border-box;
  flex-shrink:0;
  appearance:none;
  -webkit-appearance:none;
  vertical-align:middle;
  font-family:'Noto Sans TC',sans-serif;
  cursor:pointer;
  transition:all .15s ease;
}

.inv-action-btn:hover{
  border-color:rgba(118,34,59,.22);
  color:var(--primary);
  background:#FFF9F7;
}

.inv-action-btn.danger:hover{
  border-color:rgba(166,58,75,.26);
  color:var(--danger);
  background:#FFF4F5;
}

.inv-mobile-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}

.inv-mobile-select{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:64px;
  height:32px;
  padding:0 10px;
  border:1px solid rgba(214,198,187,.88);
  border-radius:999px;
  background:#fff;
  color:var(--text-2);
  font-size:12px;
  font-weight:700;
  cursor:pointer;
}

.inv-mobile-select.is-active{
  background:var(--primary);
  border-color:var(--primary);
  color:#fff;
}

.inv-mobile-code{
  font-size:14px;
  letter-spacing:.1em;
  color:var(--text-muted);
}

.inv-mobile-name{
  margin-top:6px;
  font-size:20px;
  font-family:'Newsreader','Noto Sans TC',sans-serif;
  line-height:1.15;
  letter-spacing:-.03em;
}

.inv-mobile-meta{
  display:grid;
  gap:8px;
  grid-template-columns:repeat(2, minmax(0, 1fr));
  margin-top:14px;
}

.inv-mobile-meta-item{
  padding:10px 12px;
  border-radius:16px;
  background:#FBF6F2;
  border:1px solid rgba(214,198,187,.62);
}

.inv-mobile-meta-label{
  font-size:13px;
  font-weight:700;
  letter-spacing:.1em;
  color:var(--text-muted);
}

.inv-mobile-meta-value{
  margin-top:4px;
  font-size:18px;
  font-weight:700;
  color:var(--text);
}

.inv-mobile-note{
  margin-top:12px;
  font-size:13px;
  line-height:1.7;
  color:var(--text-2);
}

.inv-mobile-card-foot{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  margin-top:14px;
  padding-top:12px;
  border-top:1px solid var(--border);
}

.inv-mobile-detail-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  width:100%;
  padding:9px 0;
  border:1.5px solid var(--border-strong);
  border-radius:10px;
  background:#fff;
  color:var(--primary);
  font-size:13px;
  font-weight:700;
}

.inv-mobile-detail-btn:active{
  background:var(--primary-soft);
  border-color:var(--primary);
}

@media (max-width: 768px){
  .topnav-container,
  .app-body,
  .main,
  .tab-bar{
    width:100% !important;
  }

  .topnav-logo img{
    height:40px !important;
  }

  .mobile-nav-brand img{
    height:46px !important;
  }

  .section-card,
  .table-wrap,
  .log-left,
  .log-right,
  .hero,
  .auth-card,
  .modal,
  .entry-button,
  .kpi-card,
  .req-count-card{
    border-radius:20px !important;
  }

  .section-header{
    padding:16px 18px !important;
  }

  .main{
    padding:14px 0 24px !important;
  }

  .home-hero{
    padding:0;
    border-radius:24px;
  }

  .home-hero-inner,
  .home-grid{
    grid-template-columns:1fr;
  }

  .home-hero-copy{
    height:196px;
    min-height:0;
    padding:0;
    border-radius:22px;
  }

  .home-hero-art{
    min-height:0;
  }

  .home-entry{
    min-height:176px;
    padding:18px 18px 16px;
    border-radius:20px;
  }

  .home-entry-spot{
    width:60px;
    height:60px;
    border-radius:20px;
  }

  .home-entry-title{
    font-size:24px;
  }

  .home-entry-body{
    margin-top:12px;
  }

  .home-entry-desc{
    display:none;
  }

  .home-entry-foot{
    margin-top:14px;
    font-size:12px;
  }

  .home-entry-icon{
    width:42px;
    height:42px;
    border-radius:14px;
  }

  .system-intro-hero{
    padding:22px 20px;
    border-radius:22px;
  }

  .system-intro-title{
    font-size:32px;
  }

  .system-intro-grid{
    grid-template-columns:1fr;
  }

  .work-hero{
    padding:22px 20px;
    border-radius:22px;
  }

  .work-hero-title{
    font-size:32px;
  }

  .work-note-row{
    grid-template-columns:1fr;
  }

  .work-shell{
    gap:16px;
  }

  .requests-panel-head{
    padding:18px 18px 0;
  }

  .requests-toolbar{
    margin:16px 18px;
  }

  .inv-board{
    grid-template-columns:1fr;
    padding:0 0 16px;
  }

  .inv-detail-drawer{
    display:none;
  }

  .inv-search-row,
  .inv-secondary-row{
    align-items:stretch;
  }

  .inv-search-row > *{
    width:100%;
  }

  .modal-overlay{
    padding:0 !important;
    align-items:flex-end !important;
  }

  .modal{
    width:100% !important;
    max-width:100% !important;
    border-radius:22px 22px 0 0 !important;
  }

  .modal-header,
  .modal-footer{
    border-radius:0 !important;
  }
}
