*{box-sizing:border-box}body{margin:0;font-family:system-ui,Segoe UI,sans-serif;background:#f4f5f7;color:#1a1a2e}.login,.admin{max-width:860px;margin:40px auto;padding:0 16px}h1{font-size:1.4rem}input,textarea,button{font-size:1rem;font-family:inherit}.login input{padding:10px;width:280px;margin-right:8px;border:1px solid #bbb;border-radius:8px}button{padding:10px 16px;border:none;border-radius:8px;background:#1f4e7a;color:#fff;cursor:pointer}button:disabled{opacity:.5}.card{background:#fff;border:1px solid #ddd;border-radius:12px;padding:18px 22px;margin:16px 0}.card h2{margin-top:0;font-size:1.1rem}.hint{color:#555;font-size:.9rem}.card input[type=file]{display:block;margin:10px 0}.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:10px}.grid input,.grid select{padding:9px 10px;border:1px solid #bbb;border-radius:8px}.qty{width:56px;padding:6px 8px;border:1px solid #bbb;border-radius:8px;text-align:center}.row .check{margin:0;white-space:nowrap}.card textarea{width:100%;min-height:130px;padding:10px;border:1px solid #bbb;border-radius:8px;margin-bottom:10px}.check{display:block;margin-bottom:12px}.check input{margin-right:6px}.banner{padding:10px 14px;border-radius:8px}.banner.error{background:#fdecea;border:1px solid #b3261e}.banner.info{background:#e8f2ea;border:1px solid #1f7a3d}.row{display:flex;align-items:center;gap:14px;padding:10px 0;border-bottom:1px solid #f0f0f0}.row>div:first-child{flex:1}.muted{color:#666;font-size:.9rem}.status{padding:4px 12px;border-radius:999px;font-size:.8rem;font-weight:700}.status.active{background:#1f7a3d;color:#fff}.status.queued{background:#7a5c1f;color:#fff}.status.completed{background:#e2e4e9}
