:root{--teal-950:#073f45;--teal-800:#086872;--teal-600:#0d9197;--teal-100:#d9f2f0;--teal-50:#edf9f7;--ink:#152e32;--muted:#6f8588;--line:#dfe9e8;--canvas:#f2f6f5;--green:#287653;--danger:#b94e32}*{box-sizing:border-box}html{background:var(--canvas)}body{margin:0;background:var(--canvas);color:var(--ink);font-family:"PingFang SC","Microsoft YaHei",system-ui,sans-serif;-webkit-font-smoothing:antialiased}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}.login-shell{min-height:100svh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 15% 10%,#0c8086 0,transparent 34%),linear-gradient(145deg,#052f34,#075159 65%,#0b7379)}.login-card{width:min(100%,430px);padding:34px;border-radius:24px;background:#fff;box-shadow:0 26px 70px #001a1e55}.admin-brand{display:flex;align-items:center;gap:13px}.admin-brand>b{width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:var(--teal-950);color:#fff;font:800 24px Arial}.admin-brand small,.panel-heading small,.welcome-row small{display:block;color:var(--teal-600);font-size:10px;font-weight:750;letter-spacing:.14em}.admin-brand h1{margin:3px 0 0;font-size:22px}.login-copy{margin:25px 0;color:var(--muted);font-size:13px;line-height:1.7}.login-form,.stock-form{display:grid;gap:17px}.login-form label,.stock-form label{display:grid;gap:8px}.login-form label>span,.stock-form label>span{font-size:13px;font-weight:700}.stock-form label>span small{margin-left:6px;color:#91a1a3;font-size:10px;font-weight:400}input,textarea,select{width:100%;border:1px solid var(--line);border-radius:12px;background:#fbfdfd;color:var(--ink);outline:none}input,select{min-height:48px;padding:11px 13px}textarea{min-height:82px;padding:12px 13px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:#16a5aa;box-shadow:0 0 0 3px #16a5aa1b;background:#fff}.login-form button,.stock-submit{min-height:52px;border:0;border-radius:13px;background:linear-gradient(110deg,var(--teal-800),var(--teal-600));color:#fff;font-weight:750;box-shadow:0 10px 24px #09747b2b}.login-form button:disabled,.stock-submit:disabled{opacity:.55}.back-link{display:block;margin-top:22px;color:var(--muted);font-size:12px;text-align:center;text-decoration:none}.notice{padding:11px 12px;border-radius:10px;font-size:12px}.notice.error{background:#fff0eb;color:#a94429}.notice.success{background:#e7f9f2;color:#16704f}.topbar{position:sticky;top:0;z-index:5;background:#ffffffed;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.topbar-inner{width:min(calc(100% - 36px),1180px);min-height:74px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:20px}.admin-brand.compact>b{width:38px;height:38px;border-radius:11px;font-size:19px}.admin-brand.compact h1{font-size:17px}.account{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:12px}.account button{border:1px solid var(--line);border-radius:10px;padding:8px 11px;background:#fff;color:var(--ink)}.dashboard{width:min(calc(100% - 36px),1180px);margin:30px auto}.welcome-row{display:flex;align-items:end;justify-content:space-between;gap:24px}.welcome-row h2{margin:5px 0 5px;font-size:25px}.welcome-row p{margin:0;color:var(--muted);font-size:12px}.welcome-row>a{flex:none;padding:10px 13px;border-radius:10px;background:#fff;border:1px solid var(--line);color:var(--teal-800);font-size:12px;text-decoration:none}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:24px 0}.metric{min-height:128px;padding:22px;border-radius:18px;background:#fff;border:1px solid var(--line);box-shadow:0 8px 26px #16464a0a}.metric.primary{background:linear-gradient(145deg,var(--teal-950),var(--teal-800));color:#fff;border-color:transparent}.metric>span{display:block;color:var(--muted);font-size:12px}.metric.primary>span{color:#ffffffa8}.metric>strong{display:inline-block;margin-top:18px;font:750 32px Arial}.metric>small{margin-left:7px;color:var(--muted)}.metric.primary>small{color:#ffffffa8}.admin-grid{display:grid;grid-template-columns:minmax(320px,390px) minmax(0,1fr);gap:18px;align-items:start}.panel{border:1px solid var(--line);border-radius:20px;background:#fff;box-shadow:0 8px 28px #16464a0a}.operation-panel{padding:24px}.panel-heading{display:flex;align-items:center;justify-content:space-between;gap:16px}.panel-heading h2{margin:3px 0 0;font-size:20px}.panel-heading>span,.panel-heading>b{color:var(--muted);font-size:10px;font-weight:500}.mode-tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin:22px 0;padding:5px;border-radius:13px;background:#eef4f3}.mode-tabs button{min-height:42px;border:0;border-radius:9px;background:transparent;color:#75898c;font-weight:700}.mode-tabs button.active{background:#fff;color:var(--teal-800);box-shadow:0 4px 14px #18464917}.mode-tabs button.inbound{color:var(--green)}.quantity-row{position:relative}.quantity-row input{padding-right:45px;font-size:16px;font-weight:700}.quantity-row i{position:absolute;right:14px;top:50%;transform:translateY(-50%);color:var(--muted);font-size:12px;font-style:normal}.hint{margin-top:-2px;color:#839597;font-size:10px}.hint.warning{color:var(--danger)}.stock-submit.inbound{background:linear-gradient(110deg,#236845,#3a9d68)}.records-panel{overflow:hidden}.records-heading{padding:24px 24px 18px}.records-heading>b{padding:5px 9px;border-radius:999px;background:var(--teal-50);color:var(--teal-800)}.record-tools{display:grid;grid-template-columns:140px 1fr;gap:10px;padding:0 24px 18px;border-bottom:1px solid #edf2f1}.record-tools input,.record-tools select{min-height:42px}.admin-record{display:grid;grid-template-columns:38px minmax(0,1fr);gap:12px;padding:18px 24px;border-bottom:1px solid #edf2f1}.admin-record:last-child{border-bottom:0}.record-direction{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:#fff0e5;color:#b25c21;font-weight:800}.admin-record.is-in .record-direction{background:#e5f5eb;color:var(--green)}.record-main{display:flex;align-items:center;justify-content:space-between;gap:12px}.record-main h3{margin:0;font-size:14px}.record-tag{margin-left:7px;padding:3px 6px;border-radius:6px;background:#fff0e5;color:#b25c21;font-size:9px}.is-in .record-tag{background:#e5f5eb;color:var(--green)}.record-quantity{color:var(--teal-800);font-size:13px;white-space:nowrap}.is-in .record-quantity{color:var(--green)}.record-content>p{margin:6px 0 10px;color:var(--muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.record-details{display:flex;align-items:center;gap:10px;color:#91a1a3;font-size:10px}.record-details time{padding-left:10px;border-left:1px solid var(--line)}.record-source{margin-left:auto}.loading{min-height:230px;display:grid;place-items:center;color:#809396;font-size:12px}.error-text{color:var(--danger)}footer{padding:32px 18px;text-align:center;color:#91a1a3;font-size:10px;letter-spacing:.08em}@media(max-width:850px){.metrics{grid-template-columns:1fr 1fr}.admin-grid{grid-template-columns:1fr}.operation-panel{order:1}.records-panel{order:2}}@media(max-width:560px){.login-card{padding:27px 22px}.topbar-inner,.dashboard{width:calc(100% - 24px)}.topbar-inner{min-height:66px}.admin-brand.compact small{display:none}.admin-brand.compact h1{font-size:15px}.account>span{display:none}.dashboard{margin-top:20px}.welcome-row{align-items:start}.welcome-row h2{font-size:19px}.welcome-row p{font-size:10px}.welcome-row>a{font-size:0;padding:9px}.welcome-row>a::after{content:"前台 ↗";font-size:11px}.metrics{gap:9px;margin:18px 0}.metric{min-height:103px;padding:16px}.metric>strong{margin-top:14px;font-size:25px}.metric>span{font-size:10px}.metric>small{font-size:10px}.operation-panel{padding:20px 16px}.records-heading{padding:20px 16px 16px}.record-tools{grid-template-columns:1fr;padding:0 16px 16px}.admin-record{padding:16px}.record-main{align-items:flex-start}.record-details{flex-wrap:wrap}.record-source{margin-left:0}.record-details time{border-left:0;padding-left:0}}

/* 修复登录成功后登录页面仍然显示的问题 */
[hidden] {
    display: none !important;
}

