/* Tian Duo Duo brand theme */
:root{--ink:#2b201e;--muted:#7d706d;--cream:#fff7f4;--paper:#fffdfb;--green:#352725;--green2:#f9dedf;--orange:#e99a9e;--line:#eddfdc;--shadow:0 12px 36px rgba(70,42,38,.09);--ui-zoom:1}
body{background:radial-gradient(circle at 88% 2%,rgba(242,169,173,.18),transparent 24rem),linear-gradient(145deg,#fff9f6 0%,#fff4f2 48%,#f9efeb 100%);background-attachment:fixed}.app main{position:relative}.app main:before{content:"";position:fixed;z-index:-1;right:3%;bottom:4%;width:240px;height:240px;border-radius:50%;border:1px solid rgba(233,154,158,.18);box-shadow:0 0 0 45px rgba(233,154,158,.035),0 0 0 90px rgba(233,154,158,.025)}
.login-page{background:#fce9e8}.login-brand{padding-top:6vh;background:#352725}.login-brand h1{margin-top:11vh}.login-brand h1 em{color:#f2a9ad}.login-copy,.login-art span{color:#eadbd7}.sidebar{background:#352725}.side-brand strong{letter-spacing:.08em}.side-brand small,.side-foot small{color:#cdbab5}.avatar{background:#f1aeb2;color:#352725}
.login-logo{width:min(430px,90%);aspect-ratio:2.5;background-color:#fdebea;background-image:url('assets/tianduoduo-brand.png');background-size:135% auto;background-position:center 67%;background-repeat:no-repeat;border-radius:7px;box-shadow:0 12px 30px rgba(0,0,0,.15);margin-bottom:18px;overflow:hidden}
.panda-mark{display:inline-block;width:44px;height:44px;border-radius:50%;background:#fff1f0 url('assets/tianduoduo-brand.png') -18px -23px/140px auto no-repeat;flex:0 0 auto}
.login-panel-logo{display:flex;align-items:center;gap:10px;margin-bottom:24px;color:#2b201e}.login-panel-logo strong{font-family:serif;font-size:23px;letter-spacing:.08em}
.zoom-control{display:flex;align-items:center;height:40px;padding:3px;background:rgba(255,253,251,.9);border:1px solid var(--line);border-radius:9px;box-shadow:0 4px 14px rgba(70,42,38,.05)}.zoom-control button{height:32px;min-width:32px;padding:0 8px;border:0;border-radius:6px;background:transparent;color:var(--ink);font-weight:800;cursor:pointer}.zoom-control button:hover{background:var(--green2)}#zoom-value{min-width:52px!important;font-size:11px;color:var(--muted)}
.page-heading{display:flex;align-items:center;gap:12px}.menu-toggle{display:none;width:42px;height:42px;border:1px solid var(--line);border-radius:10px;background:var(--paper);color:var(--ink);font-size:22px;line-height:1;cursor:pointer;box-shadow:0 5px 16px rgba(70,42,38,.08)}.sidebar-overlay{display:none}
header{background:rgba(255,247,244,.72);backdrop-filter:blur(12px);position:sticky;top:0;z-index:5}.card,.stat{border-color:rgba(226,207,202,.85);box-shadow:0 8px 28px rgba(76,45,40,.055);transition:transform .2s ease,box-shadow .2s ease}.card:hover,.stat:hover{box-shadow:0 13px 34px rgba(76,45,40,.09)}.stat:hover{transform:translateY(-2px)}.btn{border-radius:8px;transition:transform .15s ease,box-shadow .15s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 7px 16px rgba(70,42,38,.12)}.icon-btn,.header-actions select,.search,.toolbar select{border-radius:8px!important}
.inventory-hero{margin:26px 0 16px;padding:23px 25px;border-radius:14px;display:flex;align-items:center;justify-content:space-between;gap:20px;color:#fff;background:linear-gradient(125deg,#352725 0%,#5a3e3a 62%,#93625f 100%);box-shadow:0 14px 32px rgba(53,39,37,.17);overflow:hidden;position:relative}.inventory-hero:after{content:"物";position:absolute;right:18px;top:-42px;font-family:serif;font-size:140px;color:rgba(255,255,255,.055)}.inventory-hero h2{font-family:serif;font-size:24px;margin:4px 0 8px}.inventory-hero p{margin:0;color:#eadbd7;font-size:12px}.inventory-hero .eyebrow{color:#eeb8bb}.level-path{display:flex;align-items:center;gap:8px;position:relative;z-index:1}.level-path span{padding:8px 11px;border:1px solid rgba(255,255,255,.18);background:rgba(255,255,255,.08);border-radius:20px;font-size:11px;white-space:nowrap}.level-path i{font-style:normal;color:#eeb8bb}.inventory-tools{margin-top:0}.material-card{padding-top:8px}.material-card thead th{position:sticky;top:0;background:var(--paper);z-index:1;padding-top:16px;padding-bottom:13px}.material-card tbody tr{transition:background .15s ease}.material-card tbody tr:hover{background:#fff5f3}.material-card .badge{border:1px solid rgba(233,154,158,.22)}
@media(max-width:900px){.zoom-control{position:fixed;right:12px;bottom:16px;z-index:20;box-shadow:0 8px 24px rgba(53,39,37,.2)}.inventory-hero{align-items:flex-start;flex-direction:column}.level-path{width:100%;overflow-x:auto}.inventory-tools{flex-wrap:wrap}.inventory-tools .search{flex-basis:100%}.inventory-tools select{flex:1}}
.nav-item{position:relative}.nav-alert{position:absolute;right:10px;top:9px;min-width:18px;height:18px;padding:0 5px;border-radius:10px;display:grid;place-items:center;background:#e44747;color:#fff;font-size:10px;line-height:1;box-shadow:0 0 0 3px rgba(228,71,71,.16)}.unread-pill{display:inline-block;margin-left:7px;color:#d93f46;font-size:11px;font-weight:800}.notice-card.is-unread,.recipe-card.is-unread{border-left:4px solid #e44747;background:linear-gradient(100deg,#fff5f4 0%,var(--paper) 30%);box-shadow:0 9px 28px rgba(196,57,65,.09)}.notice-card.is-unread h2,.recipe-card.is-unread h2{color:#412623}@media(max-width:900px){.nav-alert{right:2px;top:5px;min-width:15px;height:15px;padding:0 3px;font-size:8px}}
@media(max-width:900px){.app{display:block}.app main{grid-column:auto;padding:0 15px 45px;width:100%;min-width:0}.sidebar{width:min(290px,82vw);padding:24px 18px;z-index:40;transform:translateX(-105%);transition:transform .25s cubic-bezier(.2,.8,.2,1);box-shadow:18px 0 45px rgba(35,24,22,.22)}.sidebar .side-brand div,.sidebar .side-foot div:not(.avatar),.sidebar .side-foot button,.sidebar .nav-item .nav-text{display:block}.sidebar .side-foot{display:flex}.sidebar .nav-item{padding:13px 14px}.sidebar-overlay{display:block;position:fixed;inset:0;background:rgba(37,25,23,.42);backdrop-filter:blur(2px);z-index:35;opacity:0;visibility:hidden;transition:opacity .2s,visibility .2s}.menu-open .sidebar{transform:translateX(0)}.menu-open .sidebar-overlay{opacity:1;visibility:visible}.menu-open{overflow:hidden}.menu-toggle{display:grid;place-items:center;flex:0 0 auto}header{padding-left:0}.nav-alert{right:10px;top:10px;min-width:18px;height:18px;font-size:10px}}
