:root{color:#1e2430;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(circle at 0 0,#ffc47861,#0000 28%),radial-gradient(circle at 100% 0,#57a3ff2e,#0000 24%),linear-gradient(#fcfaf5 0%,#f2eee4 100%);font-family:PingFang SC,Helvetica Neue,Microsoft YaHei,sans-serif}*{box-sizing:border-box}html,body,#app{min-height:100vh;margin:0}body{color:#1e2430}a{text-decoration:none}button,input{font:inherit}.shell{min-height:100vh;padding:28px}.topbar,.panel,.modal-card{width:min(1120px,100%);margin:0 auto}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;padding:12px 6px 18px;display:flex}.topbar h1,.panel h2,.panel h3{color:#171d28;margin:0}.page{flex-direction:column;gap:20px;display:flex}.panel,.modal-card{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffd6;border:1px solid #1c212b14;border-radius:28px;box-shadow:0 24px 80px #2d251814}.panel{padding:28px}.hero-panel{padding:40px}.eyebrow{letter-spacing:.18em;color:#9a5b20;text-transform:uppercase;margin:0 0 8px;font-size:12px;font-weight:700}.muted,.meta{color:#69707d;margin:0}.meta{font-size:13px}.topbar-actions,.action-row,.section-head{gap:12px;display:flex}.section-head{justify-content:space-between;align-items:flex-start;margin-bottom:20px}.badge,.disabled-chip{color:#243041;background:#171d2814;border-radius:999px;justify-content:center;align-items:center;min-height:38px;padding:0 14px;font-size:13px;display:inline-flex}.disabled-chip{color:#8c9098;background:#8c90981f}.primary-btn,.ghost-btn{cursor:pointer;border:0;border-radius:16px;transition:transform .18s,box-shadow .18s,opacity .18s}.primary-btn{color:#fff;background:linear-gradient(135deg,#111826 0%,#404d63 100%);justify-content:center;align-items:center;min-height:46px;padding:0 18px;display:inline-flex;box-shadow:0 14px 30px #171d282e}.ghost-btn{color:#1f2937;background:#ffffffb3;border:1px solid #1f293714;min-height:42px;padding:0 16px}.primary-btn:hover,.ghost-btn:hover{transform:translateY(-1px)}.primary-btn:disabled,.ghost-btn:disabled{opacity:.45;cursor:not-allowed;transform:none}.hero-copy{max-width:640px;margin-bottom:28px}.hero-copy h2{letter-spacing:-.03em;font-size:clamp(34px,5vw,52px);line-height:1.08}.hero-copy .muted{color:#566072;font-size:18px;line-height:1.7}.extractor{flex-wrap:wrap;gap:14px;display:flex}.hero-steps{gap:14px;margin-bottom:20px;display:grid}.hero-step{background:#ffffffbd;border:1px solid #1f293714;border-radius:20px;align-items:flex-start;gap:14px;padding:16px 18px;display:flex}.hero-step-index{color:#fff;background:linear-gradient(135deg,#111826 0%,#47556d 100%);border-radius:999px;flex:0 0 32px;justify-content:center;align-items:center;width:32px;height:32px;font-size:14px;font-weight:700;display:inline-flex;box-shadow:0 10px 24px #171d2829}.hero-step-title,.extractor-title,.login-info-value{color:#171d28;margin:0}.hero-step-title,.extractor-title{margin-bottom:4px;font-size:16px;font-weight:700}.login-copy-panel{flex-direction:column;gap:16px;display:flex}.login-info-card,.login-status-card,.extractor-panel{background:#ffffffb8;border:1px solid #1f293714;border-radius:22px}.login-info-card,.login-status-card{padding:18px 20px}.login-info-label,.login-status-label{letter-spacing:.12em;text-transform:uppercase;color:#9a5b20;margin:0 0 8px;font-size:12px;font-weight:700}.login-info-value{letter-spacing:-.03em;word-break:break-all;font-size:28px;font-weight:700}.login-status-card .muted{line-height:1.7}.extractor input{background:#ffffffeb;border:1px solid #171d281a;border-radius:16px;flex:280px;min-height:52px;padding:0 18px}.delivery-list,.card-grid,.photo-grid{gap:16px;display:grid}.card-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.photo-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.delivery-item,.order-card,.roll-card,.photo-card,.state-card{background:#ffffffdb;border:1px solid #1f293714;border-radius:22px}.delivery-item,.order-card,.photo-card{padding:18px}.roll-card{padding-bottom:18px;overflow:hidden}.delivery-item,.order-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.photo-card,.roll-card{flex-direction:column;gap:14px;display:flex}.state-card{color:#69707d;padding:22px}.preview-image,.preview-placeholder{aspect-ratio:4/3;object-fit:cover;background:linear-gradient(135deg,#ece8de 0%,#d8d3c8 100%);width:100%}.preview-placeholder{color:#7d7568;justify-content:center;align-items:center;font-size:14px;display:flex}.roll-copy,.photo-copy{padding:0 18px}.error-box{color:#ac3131;background:#c4313114;border:1px solid #c431311f;border-radius:18px;width:min(1120px,100%);margin:0 auto;padding:16px 18px}.modal-mask{background:#0f121a5c;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{padding:24px}.handoff-grid{grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);align-items:stretch;gap:26px;display:grid}.link-box{color:#364152;word-break:break-all;background:linear-gradient(#f7f3ebf5 0%,#f4eee5eb 100%);border:1px solid #9a5b2014;border-radius:20px;padding:18px 20px;font-size:18px;line-height:1.6}.qr-panel{background:linear-gradient(#ffffffd1 0%,#f6f8fcc2 100%);border:1px solid #1f293714;border-radius:28px;flex-direction:column;justify-content:center;gap:14px;padding:22px;display:flex}.qr-wrap{background:#fff;border:1px solid #1f29370f;border-radius:24px;justify-content:center;align-items:center;min-height:280px;padding:20px;display:flex}.qr-wrap img{aspect-ratio:1;width:min(100%,260px);height:auto}.qr-caption{text-align:center;color:#69707d;margin:0;font-size:14px;line-height:1.6}.extractor-panel{margin-top:26px;padding:22px 24px}.extractor-copy{margin-bottom:16px}.extractor-copy .muted{line-height:1.6}@media (width<=760px){.shell{padding:16px}.topbar,.section-head,.delivery-item,.order-card,.handoff-grid{flex-direction:column;grid-template-columns:1fr}.topbar,.section-head{align-items:stretch}.hero-panel,.panel,.modal-card{padding:20px}.hero-copy h2{font-size:32px}.hero-copy .muted,.link-box,.login-info-value{font-size:16px}.hero-step{padding:14px 16px}.qr-panel,.extractor-panel{padding:18px}.qr-wrap{min-height:auto}.action-row,.topbar-actions{flex-wrap:wrap}}
